我有一个.target文件,导入我的项目:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="CreateInstaller">
<Import Project="$(PathToTargetFile)\My.target" />
<Project>
.target是由另一个目标构建的:
<Target Name="MyCustomTarget" DependsOnTargets="$(OtherTargets)">
<MSBuild Projects="$(PathToTargetFile)\My.target" />
</Target>
每次调用MyCustomTarget
的内容时,都会调用目标My.target
。但My.target
似乎不再是进口了,而不是第一次。如何解决这个问题?
答案 0 :(得分:1)
如何解决此问题?
Visual Studio缓存所有导入的.target文件。这就是为什么你My.target
似乎不再导入而不是第一次了。
要解决此问题,您可以使用具有不同名称的临时.target
文件,这将强制VS重新加载.target
文件:
<Target Name="AfterBuild">
<PropertyGroup>
<TempProjectFile>My.$([System.Guid]::NewGuid()).target</TempProjectFile>
</PropertyGroup>
<Copy SourceFiles="My.target" DestinationFiles="$(TempProjectFile)" />
<MSBuild Projects="$(TempProjectFile)" />
<Delete Files="@(TempProjectFile)" />
</Target>
您可以参考the similar issue了解详细信息。
希望这对你有所帮助。