Ste*_*per 10 msbuild command-line visual-studio-2008
在Visual Studio中,您可以卸载项目,并在构建解决方案时(右键单击/构建),不会构建卸载的项目.但是,当您从命令行运行MSBuild时,就像这样;
C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
"$slnFile" /t:build /p:Configuration=Debug /verbosity:minimal
Run Code Online (Sandbox Code Playgroud)
该项目已建成.有没有办法让MSBuild尊重在Visual Studio中卸载的项目?
情况是我们有一个包含许多项目的解决方案.其中一个需要特殊的软件来构建,它存在于我们的构建机器上,但不存在于所有开发人员机器上.这意味着我无法进行直接的命令行构建,或者在遇到流氓项目时失败.
有任何想法吗?
[编辑:MSBuild必须能够这样做,因为Visual Studio使用MSBuild来进行构建.命令行没有VS做什么?]
MSBuild对解决方案中项目的加载状态一无所知,因此您尝试做的事情是不可能的.
作为替代方案,您可以定义名为BUILD_MACHINE的新构建配置(使用Build -> Configuration Manager菜单).在此构建配置中,启用所有项目.这是您在构建计算机上构建的配置.如果禁用在Debug和Release构建配置中构建的特定项目(使用相同的菜单选项),则可以在开发计算机上构建这些配置,而无需卸载不想构建的项目.
MSBuild尊重构建配置,因此您可以使用Visual Studio或MSBuild构建非构建机器构建配置(例如,调试,发布),并且不会构建麻烦的项目.