如果在解決方案中有兩個單獨的項目是不可接受的,那麼您需要考慮創建自己的MSBuild腳本。
這裏是一個自定義的MSBuild腳本,讓你在構建時定義自定義編譯常量,然後建立自己的應用程序(「全」和「精簡版」)你的兩個版本的例子:
<Project DefaultTargets="BuildAll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildVersionFull>FULL</BuildVersionFull>
<BuildVersionLite>LITE</BuildVersionLite>
</PropertyGroup>
<ItemGroup>
<Projects Include="$(MSBuildProjectDirectory)\MyApp.vbproj" />
</ItemGroup>
<Target Name="BuildAll" DependsOnTargets="BuildFull;BuildLite" />
<Target Name="BuildFull">
<MSBuild Projects="@(Projects)" Properties="DefineConstants=$(BuildVersionFull);OutputPath=binFull\;BaseIntermediateOutputPath=objFull\;AssemblyName=MyApp_Full" />
</Target>
<Target Name="BuildLite">
<MSBuild Projects="@(Projects)" Properties="DefineConstants=$(BuildVersionLite);OutputPath=binLite\;BaseIntermediateOutputPath=objLite\;AssemblyName=MyApp_Lite" />
</Target>
</Project>
你需要什麼做:
- 創建一個新的文件,並保存在同一目錄中應用程序的項目文件爲「MyBuild.xml」。
- 更改以反映應用程序項目文件的名稱。
- 打開Visual Studio命令提示符並運行「msbuild」。
在你的項目,你可以使用「FULL」和「LITE」條件編譯常數,以確定是否要編譯某些語句:
#If FULL Then
' Compile code for the "Full" version.
#End If
您也可以直接在Visual Studio中運行的MSBuild描述這裏:http://www.kodefuguru.com/post/2010/04/10/MSBuild-as-a-Visual-Studio-2010-Tool.aspx –
謝謝你會試試 – SSS