动机:我在构建过程中集成了fxcop,这使得fxcopcmd.exe在每次目标发生变化时或者只要上一次运行fxcop时出现警告就会运行。
但是当一个人在工作室工作时,无论出于什么原因,devenv.exe通常都会决定在后台编译项目。例如,当我向解决方案中添加一个新项目时,我注意到fxcopcmd.exe正在运行,这意味着后台构建已经开始。也有其他的时候。
因此,我希望在使用devenv构建时禁止使用fxcop.我们的CI服务器使用msbuild构建,所以没有问题。
顺便说一句,如果有一种方法可以禁用后台构建,那就太好了。
发布于 2009-07-14 14:36:14
有一个属性BuildingInsideVisualStudio会告诉你这一点。
例如,对定义了以下AfterBuild目标的.csproj使用msbuild.exe和devenv.exe时的结果进行比较
<Target Name="AfterBuild">
<Message Text="BuildingInsideVisualStudio: $(BuildingInsideVisualStudio)" Importance="high"/>
</Target>赛义德·易卜拉欣·哈希米
我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build
发布于 2009-07-14 13:10:23
我唯一能想到的就是
后台编译器是在VS2008中添加到C#中的,据我所知,它是不可配置的。VS2010应该是超可配置的,所以这种情况可能会改变
编辑:将我的列表格式化得更好一些
https://stackoverflow.com/questions/1125223
复制相似问题