注意:Visual Studio 2010 SP1 / MSBuild 4.0
我对这个bug感到疯狂,我无法理解为什么Visual Studio会以这种方式运行。我正在为特定解决方案中的项目编写自定义.targets
文件。我编辑了.csproj
文件:
<Include Project="..\MyTargets.targets" />
在文件底部附近Microsoft.CSharp.targets
之后。我们的想法是,这个目标文件将通过修改_____DependsOn
属性来注入要执行的操作,就像PostSharp集成自身一样。
在我的目标无法运行之后,我决定在MSBuild的命令行中运行它并看到格式良好的颜色输出。
在命令行中,我的目标运行。从visual studio(甚至使用清洁/重建),我的目标不会运行。
我已经联系BuildDependsOn
来运行我的目标:
<PropertyGroup>
<BuildDependsOn>
MyTargetGoesHere;
$(BuildDependsOn)
</BuildDependsOn>
</PropertyGroup>
我的第一个想法是我的文件错误了。我验证了文件,这是正确的。然后我查看它是否陈旧。让visual studio进行一些更改,保存,运行。 Visual Studio的新变化生效,仍未实现我的目标。
所以我在这里绝望了。我在目标文件中添加了 BLARING SYNTAX ERROR 。 MSBuild爆炸,Visual Studio成功编译项目。
Microsoft.Common.targets
答案 0 :(得分:12)
总结上述注释,对导入的项目文件的更改不会触发重新加载,导入项目的更改也不会导致重新加载导入。需要解决方案文件重新加载以捕获导入中所做的更改。