问题标签 [msbuild-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
122 浏览

visual-studio-2008 - 如何将 MSBuild 中的目标绑定到一般错误

我们正在使用 TFS 构建,并且在配置中有几个自定义步骤(例如,在目标中运行 NUnit 测试,在AfterCompile目标中部署步骤AfterDropBuild等)。现在我想添加在损坏的构建上发送电子邮件的功能。我已经从 MS Community 任务中配置了一个邮件任务并将其放到BeforeOnBuildBreak目标中。如果出现编译错误,这将非常有效,我们甚至会收到通知电子邮件。

但是,当某些自定义任务出现错误时(例如,在此 NUnit 测试运行中测试失败),甚至不会执行 BeforeOnBuildBreak 目标。在任何构建失败的情况下,是否有其他(更通用的)目标或任何其他方式来执行自定义逻辑?

0 投票
5 回答
4754 浏览

c# - 在 c# 项目中使用 XSD Build 任务

如何在 ac# 项目中使用 c++ XSD Task ?我已经在 csproj 文件中创建了这样的任务:

但是构建输出说,虽然智能感知在编辑项目文件时为我提供了 XSD 任务:

哦,我正在使用 Visual Studio 2010 RC。

*

0 投票
2 回答
1206 浏览

visual-studio - msbuild 自定义任务

我有一个自定义 MSBuild 任务,它接收一组 JavaScript 文件,将它们缩小并输出,扩展名为 .min.js。当我通过 Visual Studio 进行正常构建时,它运行良好,并且 .min.js 文件输出到与原始文件相同的目录。当我尝试使用 Visual Studio 中的发布功能进行部署时,只有原始的 .js 文件才能进入发布目录.... 我怎样才能让我的任务的输出被计为“内容”,以便它结束在已发布的文件夹中?

编辑:我能够通过在我的任务中添加输出标签然后围绕它创建一个 ItemGroup 来解决这个问题:

0 投票
1 回答
577 浏览

logging - 通过 Logger 中的事件读取 MSBuild 自定义任务的属性

我正在尝试编写一个 MSBuild 记录器模块,该模块在接收TaskStarted有关任务及其参数的事件时记录信息。

使用以下命令运行构建:

build.xml 中包含一系列任务,其中大部分是自定义编写的以编译(C++ 或 C#)解决方案,并通过以下自定义任务访问:

自定义构建任务DoCompile定义为:

在构建运行时,随着每个任务的启动,记录器模块接收IEventSource.TaskStarted事件,订阅如下:

我遇到的问题是,在上面的taskStarted()方法中,我希望能够访问触发事件的任务的属性。我只能访问记录器代码,不能更改 build.xml 或自定义构建任务。

谁能建议我可以做到这一点的方法?

0 投票
2 回答
301 浏览

msbuild - NAnt 中的 MSBuild 的 XmlMassUpdate 任务?

我创建了一个 MSBuild 任务来构建我的项目,但由于各种原因,我不想切换到 NAnt。

是否有一些任务相当于 NAnt 中的 MSBuild 的 XmlMassUpdate?如果可能的话,我想使用与 XmlMassUpdate 相同的 xml 替换文件。

(有关 XmlMassUpdate 的更多信息,这是我在 stackoverflow 网站上找到的简短用法:MSBuild 示例

我尝试使用 xmlPeek/xmlPoke 任务,但无法让它们在替换文件中迭代树路径...

0 投票
3 回答
7129 浏览

msbuild-task - 如何在没有警告消息的情况下多次获取导入自定义任务?

我正在使用 MSBuild Extension Pack (MEP) 中的一些自定义任务。我的项目分散在许多文件中。在这些文件中,我使用(在两个/三个文件中两次或三次)导入 MEP 任务。执行此操作时,我会收到警告消息:

... 警告 MSB4011:“C:\Program Files\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks”无法再次导入。它已经在“D:...\Tasker.proj (5,3)”中导入。这很可能是构建创作错误。随后的导入将被忽略。

有谁知道如何摆脱这个警告信息?请帮忙!

0 投票
1 回答
1421 浏览

msbuild - 如何让 MSBuild Exec 运行 java 程序?

我正在尝试在我的 Team Build (MSBuild) 中运行命令行操作。

当我在构建机器的命令行上运行它时,它工作正常。但是当在构建脚本中运行时,我得到一个“退出代码 3”。

这是我正在运行的命令:

此命令仅在从上述目录运行时才有效(我尝试从 c:\ 运行它,但它的完整路径失败)。

当我尝试使用 ms build 运行它时,这是我的声明:

正如我上面所说,这“以代码 3 退出”。这是完整的输出:

它说它找不到文件(谁知道是什么文件)。

关于如何使其在 MS Build 中运行命令行操作的任何想法?

0 投票
1 回答
337 浏览

.net - 从 MSBuild 脚本在远程计算机上安装服务

我有这个创建服务的任务:

目标名称="InstallService" DependsOnTargets="CopyFiles"
执行命令="sc \ \remotecomputer create "ServiceHost" binPath= "E:\ServiceHost.exe" DisplayName= "ServiceHost"" WorkingDirectory="c:\" ContinueOnError="false “ /目标

问题是当我运行这个脚本时,它不知道 \\remotecomputer。

0 投票
3 回答
2832 浏览

msbuild - 如何获取 $(MSBuildProjectDirectory) 的最后一部分

我不知道如何获取 $(MSBuildProjectDirectory) 的最后一部分。

例如,如果值为“c:\development\projects\project_branch”,那么我只想要最后一部分“project_branch”。

我怎样才能做到这一点?

0 投票
3 回答
601 浏览

.net - MSBuild 入门工具包

只是想知道是否有人知道那里是否有任何 MSBuild 入门工具包。

我所说的入门工具包的意思是,从外观上看,大多数构建都具有相同类型的步骤,只是在此处和那里进行了细微的更改(即大多数构建将运行测试、覆盖、压缩结果、生成报告、部署等) . 此外,大多数人通常希望从 CI 构建、测试构建、发布构建中获得的内容与这里和那里的细微更改基本相同。

现在不要误会我的意思,我认为大多数脚本最终都是相当不同的。但我不禁认为,大多数人一开始的生活都非常相似。

因此,是否有人知道任何“入门工具包”,它们具有类似于开发/CI/测试/发布版本的大多数人希望您可以开始更改和修改的常见任务?

干杯安东尼