跳过一个项目,同时使用msbuild 3.5构建解决方案
问题描述:
我有一个解决方案,一些库+网站上的文件夹。跳过一个项目,同时使用msbuild 3.5构建解决方案
当我使用msbuil而不是这个解决方案时,它将网站预编译为新的文件夹名称PrecompiledWeb。我想跳过它,只是建立所有库。
我该怎么做?
答
我会设置一个特殊的目标或可能是一个不同的msbuild文件。
我使用一个.msbuild
文件和几个不同的批处理文件,这样我就可以通过使用不同的批处理文件来构建我的应用程序的特定部分或整个东西。
在你.msbuild
文件,你可以有两个目标,一个是完整的构建和一个刚刚库:
<Target Name="FullBuild">
<MSBuild Projects="YourSolution.sln" />
</Target>
<Target Name="LibBuild">
<MSBuild Projects="YourLibProject1.csproj" />
<MSBuild Projects="YourLibProject2.csproj" />
<MSBuild Projects="YourLibProject3.csproj" />
</Target>
所以,你可以调用的MSBuild与任FullBuild
目标,这将构建一个完整的解决方案,或与LibBuild
这将建立你想要的特定项目。
批处理文件可能是这样的:
msbuild.exe /t:LibBuild
msbuild.exe /t:FullBuild
答
您应该能够通过创建一个新的配置(LibOnly)做到这一点,在Visual Studio配置管理器只检查您想要构建的项目。然后,在命令行:
msbuild.exe YourSolution.sln /p:Configuration=LibOnly
正如前面提到的评论者,你可以alwyas创建您自己的MSBuild文件来指定哪些项目建设。我认为这是一个好方法,我不喜欢构建解决方案文件。
这是一个不错的解决方案,您绝对需要添加'/ p:Platform = yourplatform',或者使用默认的“混合平台”,您的选择对于每个组合都是不同的。 – Zasz 2011-08-07 17:57:09