我创建了一个要导入到 .csproj 文件中的 .target 文件。此目标文件导入 MSBuild.ExtensionPack.tasks。从命令行运行时,ExtensionPack 任务执行得很好,但是如果我从 Visual Studio 内部运行构建,目标仍然运行,但它会跳过扩展任务。
这是目标文件:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0">
<PropertyGroup>
<TPath>$(MSBuildProjectDirectory)\..\Contrib\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks</TPath>
</PropertyGroup>
<Import Project="$(TPath)"/>
<Target Name="FindWSFiles">
<MSBuild.ExtensionPack.FileSystem.FindUnder TaskAction="FindFilesAndDirectories" Path="$(MSBuildProjectDirectory)" SearchPattern="*WS*">
<Output ItemName="AllFoundItems" TaskParameter="FoundItems"/>
</MSBuild.ExtensionPack.FileSystem.FindUnder>
<Message Text="$(MSBuildProjectDirectory)" Importance="high"/>
<Message Text="===== Found Files and Directories =====" Importance="high"/>
<Message Text="AllFoundItems:%0d%0a@(AllFoundItems,'%0d%0a')"/>
</Target>
<Target Name="GenerateWSBin" BeforeTargets="CoreCompile" DependsOnTargets="FindWSFiles">
<Message Text="GenerateWSBin" Importance="high" />
</Target>
<Target Name="GenerateWSHooks" BeforeTargets="CoreCompile" DependsOnTargets="FindWSFiles">
<Message Text="GenerateWSHooks" Importance="high"/>
</Target>
</Project>
如何让 MSBuild.ExtensionPack 任务在 Visual Studio 内执行?