MSBuild AfterBuild 消息未实时显示

2024-01-03

我在 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 的输出控制台中不会显示命令的任何消息或输出。这并不理想,因为最好“实时”查看消息和命令输出。

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

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


Try use DependsOnTargets代替CallTarget:

<Target Name="AfterBuild" DependsOnTargets="InstallBuildDependencies,BuildAssets">
</Target>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSBuild AfterBuild 消息未实时显示 的相关文章

  • 在 IIS 6 虚拟目录中运行的 ASP.Net MVC 4 应用程序上目录列表被拒绝

    我试图让 ASP Net MVC 4 在 IIS6 上工作 但遇到了总是有趣的 目录列表被拒绝 错误 在您开始发布有关无扩展名网址以及我需要如何阅读 Haacked 博客文章之前 我已经 因此 这里的设置是 我创建了一个新网站并将其配置为使
  • Visual Studio 2022 - 编译旧应用程序时出错

    我们正在尝试在 Visual Studio 2022 中使用 VB6 32 位应用程序 编译 2002 年以来非常旧的应用程序 我们需要调试此应用程序并能够在 Windows 10 计算机上运行此应用程序 编译时 我们发现以下错误 这似乎是
  • 筛选 NUnit MSBuild 任务的类别?

    我正在设置一个 MSBuild 项目来运行一些 NUnit 测试 使用MSBuild 社区任务项目 http msbuildtasks tigris org 通过这些设置 我将能够运行 NUnit 测试
  • 字典 API(词汇)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道一个好的 NET 字典 API 吗 我对含义不感兴趣 而是我需要能够以多种不同的方式查询单词 返
  • 使用 MSBuild/Web 部署项目启动程序而不等待它

    我希望在部署完成后在某个文件夹上打开资源管理器 并且我正在使用以下命令来尝试它
  • Dotnet“新”命令不适用于 Framework 4.5?

    我正在尝试使用 dotnet 创建 4 5 框架类库项目new命令如下 dotnet new classlib lang C f net45 o TestProject 错误 无效参数 f 网络45 net45 不是 f 框架 的有效值 如
  • 将 Azure Pipelines 与多目标项目一起使用时出现错误 NETSDK1061

    完整的错误在这里 Error NETSDK1061 The project was restored using Microsoft NETCore App version 1 0 0 but with current settings v
  • ASP.NET MVC 中 ModelState.AddModelError 中的关键参数有什么意义?

    我在我的控制器中添加了验证检查来修改ModelState如果验证失败 例如 private bool ValidateMoney string raw string name decimal min decimal max try var
  • EasyNetQ 模型关闭

    我使用 EasyNetQ 实现了一个简单的 RabbitMQ 客户端 连接后 我收到一条通知 队列模型关闭 这是我的代码 var bus RabbitHutch CreateBus String Format host 0 hostName
  • 找不到 Microsoft.Office.Interop Visual Studio

    我正在开发一个使用 C 发送电子邮件的应用程序 该应用程序将能够使用邮件模板等 问题是我无法找到任何 Office Interop 引用 这意味着我无法使用 Outlook 我的计算机上安装了 Office 但我也尝试从此链接安装 PIAh
  • Visual Studio 智能感知搞砸了

    所以我是 MVC4 和 C 的新手 我已经设计这个网站大约两周了 智能感知没有任何问题 两天来 Visual studio 告诉我 Viewbag 和其他 命令不是我的项目的一部分 我可能错过了一些东西 或者它告诉我 Viewbag 在当前
  • 在 .Net 托管的 IronPython 脚本中设置和获取变量

    我正在尝试使用 Net 控制台应用程序中托管的 IronPython 来构建验证规则引擎的原型 我已经将脚本精简到我认为的基础内容 var engine Python CreateEngine engine Execute from Sys
  • 如何使用 Visual Studio 扩展从当前解决方案中收集类型?

    我创建了 Visual Studio 2012 包 使用 VS2012 SDK 该扩展 如果安装在客户端的 IDE 环境上 应该具有从开发人员正在开发的当前打开的解决方案中收集所有特定类型的功能 Visual Studio Designer
  • SignalR 更新无法在 Chrome 上正常运行

    我创建了一个带有 SignalR 通知的 ASP MVC 4 应用程序 我在本地以调试模式运行它 并通过 IIS 发布在服务器上运行它 使用 Internet Explorer 11 时 这基本上可以正常工作 稍后解释 HTML1300 N
  • 为什么 Visual Studio 在临时文件夹中生成以下文件 .NETFramework,Version=v4.5.AssemblyAttributes.cs

    为什么 Visual Studio 会生成以下文件 NETFramework Version v4 5 AssemblyAttributes cs在临时文件夹中C Users USERNAME AppData Local Temp构建解决方
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 枚举扩展方法

    在vs2008中 是否可以编写适用于任何枚举的扩展方法 我知道您可以针对特定枚举编写扩展方法 但我希望能够使用单个扩展方法对每个枚举进行处理 这可能吗 是的 只需针对基础进行编码Enum类型 例如 public static void So
  • 使用.Net/C# 计算集合的频率分布

    是否有一种快速 简单的方法来使用 Linq 或其他方式计算 Net 集合的频率分布 例如 任意长的 List 包含许多重复项 遍历列表并计算 跟踪重复次数的巧妙方法是什么 查找列表中重复项的最简单方法是将其分组 如下所示 var dups
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi

随机推荐