0

我创建了一个要导入到 .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 内执行?

4

1 回答 1

0

啊,这对我来说是一个愚蠢的错误。我忘了包括Importance="high"在内<Message Text="AllFoundItems:%0d%0a@(AllFoundItems,'%0d%0a')" />这导致输出在视觉工作室内被抑制。

于 2013-09-26T18:58:38.840 回答