简介
我正在寻找一个扩展点“在VS加载项目时执行”。 这也应该可以合并到VS外部的构建运行中。这意味着它应该以msbuild脚本结束。
MSBuild InitialTargets
现在我发现MSBuild提供了一个扩展点,用于在执行任何其他目标之前执行目标:<Project InitialTargets="..."/>
。这非常适合我对控制台/构建服务器构建的需求。但是,对于Visual Studio,我更喜欢在VS加载解决方案时也会(另外)发生。
所以我检查了是否是这种情况:是和否。
当我将以下项目导入我的*.csproj
时:
<Target Name="TestOnStart">
<Warning Text="Hey $(MSBuildProjectName) is being initialised"/>
</Target>
在VS中加载解决方案后,会为某些项目弹出 警告,但不是全部。
问题
InitialTargets
?或许你可以帮我解答这个问题,让我自己找到一个解决方案; - ):
InitialTargets
?
谢谢:)
附录:
我刚刚注意到,如果我从外部更改解决方案项目的csproj
文件之一,VS会询问我是否要重新加载项目。如果我选择“重新加载所有项目”,它将执行所有项目的InitialTargets
。
因此,这可能需要使用缓存等。因此,我的问题的解决方案可能涉及让VS相信项目中的某些内容发生了变化(在加载解决方案之前/之前)。