.net - MSBuild AfterBuild 消息未实时显示

标签 .net asp.net-mvc-4 visual-studio-2012 msbuild csproj

我在 Visual Studio 2012 中的 ASP.NET MVC 4 项目的 .csproj 文件中有类似以下内容:

<Target Name="AfterBuild">
  <CallTarget Targets="InstallBuildDependencies" />
  <CallTarget Targets="BuildAssets" />
</Target>
<Target Name="InstallBuildDependencies">
  <Message Text="Installing build dependencies:" Importance="high" />
  <Exec Command="npm install" />
</Target>
  <Target Name="BuildAssets">
  <Message Text="Building assets:" Importance="high" />
  <Exec Command="grunt build" />
</Target>

在同一项目的 .pubmxl 中类似这样的内容:

  <PropertyGroup>
    <!-- Other properties here -->
    <InstallBuildDependenciesCmd>npm install</InstallBuildDependenciesCmd>
    <BuildDistAssetsCmd>grunt dist</BuildDistAssetsCmd>
    <PipelineDependsOn>
      InstallBuildDependencies;
      BuildDistAssets;
    </PipelineDependsOn>
  </PropertyGroup>
  <Target Name="InstallBuildDependencies">
    <Message Text="Installing build dependencies:" Importance="high" />
    <Exec Command="$(InstallBuildDependenciesCmd)" />
  </Target>
  <Target Name="BuildDistAssets" AfterTargets="InstallBuildDependencies">
    <Message Text="Building distribution assets:" Importance="high" />
    <Exec Command="$(BuildDistAssetsCmd)" />
  </Target>

问题是,在第一个片段中,在构建中的所有内容都完成之前,Visual Studio 的 Ouput 控制台中不会显示任何消息或命令输出。这并不理想,因为“实时”查看消息和命令输出会更好。

在第二个片段中,消息和命令输出都“实时”显示在输出控制台中。

是否可以像第二个片段中的消息一样,让第一个片段中的消息实时显示?为什么我遇到这种不一致?

最佳答案

尝试使用 DependsOnTargets 而不是 CallTarget:

<Target Name="AfterBuild" DependsOnTargets="InstallBuildDependencies,BuildAssets">
</Target>

关于.net - MSBuild AfterBuild 消息未实时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38125377/

相关文章:

java - 有谁能够帮助将此代码从 Java 转换为 .Net(vb 或 c#)

c# - 如何初始化具有构造函数的动态类

asp.net-mvc - EditorFor 在没有 @foreach 的情况下不呈现 ienumerable

asp.net-mvc - Web Api 调用返回 404 错误,GUID 作为参数传递

git - 用于 Git 提交系统的 Visual Studio 工具

.net - 在 Visual Studio 中开发语言支持的重叠替代方案

asp.net - Visual Studio 2012 未发布项目

.net - Bonjour sdk for windows 仅在 UI 线程中运行

c# - 包含集合的自定义配置部分

c# - 将 Rich Cards 数据添加到我的 dotnet 应用程序会导致其崩溃