问题标签 [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.
visual-studio - 是否可以在 Web 部署项目中更新 WCF 服务引用
我认为问题标题巧妙地总结了我所追求的。我有一个 Web 应用程序和一项服务,我希望构建脚本检查自上次构建以来服务是否已更新,如果是,请运行右键单击服务时可用的“更新服务参考”脚本.
有任何想法吗?
c# - 在 c# msbuild 任务中检索具有相同名称的多个项目元数据
如何在 ac# msbuild 任务中获取具有相同名称的多个项目元数据,例如,如果我有:
<excludeAssembly>
如果通常使用以下方法,我将如何获得所有元数据的列表:
获取单个元数据值。我需要获取<excludeAssembly>
值列表
msbuild - MSBuild 任务配置属性
我有三个 Visual Studio 解决方案。第一个被配置为构建为Release,另外两个被设置为构建为Debug。
当运行一个简单的MSBuild脚本明确说明要构建的配置 (Debug) 时,第一个项目仍然构建为 Release。
示例脚本:
我已经尝试了上述的变体,例如以下,但我总是得到相同的结果。
我注意到有一个类似的问题,MSBuild task - Build failed 因为一个解决方案是在 release 而不是 debug 中构建的,但这是特定于 TFS 和 Teambuild 的。我说的是纯 MSBuild 和一个从头开始创建的简单项目文件。
我该如何解决这个问题?
html - 在 MSBuild 步骤中将 HTML(WSDL/XSD 文档)转换为 MHT
伙计们,
我有一些从我的 WSDL 和 XSD 文件生成的用于 Web 服务的 HTML,我想在我的连续过程中将这两个 HTML 以及一些图像(公司徽标)和 CSS 文件转换为单个 MHT 文件集成,以便我可以将其分发给客户(公司外部使用此 Web 服务的其他开发人员)。
我想自动实现这一点,最好使用 MSBuild 任务或命令行实用程序。
有没有一种快速简单的方法来做到这一点?便宜或免费的工具,还是 C# 解决方案?
马克
visual-studio - 构建机器是否需要单独的 Visual Studio 许可证?
我知道有些公司允许您根据需要在构建机器上安装他们的产品,而无需单独的许可证(我想到的是 DevExpress)。但是我想知道微软是否对许可证有同样的限制。
MSBuild 不直接支持 vdproj,需要您从命令行运行 Visual Studio 来构建安装项目。看这里
我需要通过自动构建生成一个设置文件;我需要为构建机器购买额外的许可证吗?
编辑:我已经和我们负责许可的管理员谈过了,他很高兴我在构建机器上安装 VS2008 而无需购买额外的许可证,认为不需要许可证。如果我在这里获得更多官方信息,我将再次更新。
编辑 2:我听说微软将允许在构建机器上安装 VS2008,只要开发人员不使用该实例进行主动开发。
visual-studio - Visual Studio 集成自定义 MSBuild 任务行为
我在网上寻找一个 NUnit 自定义 MSBuild 任务,它可以在每个构建上运行,并且可以很好地使用 Visual Studio UI(2008 是我的版本)。我发现 MSBuild.Community.Tasks 项目很棒,但在 Visual Studio 集成部分失败了。我真正想要的是在 VS 的错误列表窗口中将失败的测试显示为警告/错误(以及测试不成功时的 FAILED 项目构建)。因此,我编写了自己的自定义 MSBuild 任务,该任务完全按照我的意愿完成。
但。
我遇到的唯一问题是正常的 VS UI 错误列表行为是,当您单击错误时,它会跳转到适当的源文件并突出显示有问题的代码。我能够将文件和行号与失败的测试相关联,但是我无法以任何方式说服 Visual Studio 为我突出显示有问题的代码(当我双击错误时)。我得到的只是光标在正确的位置。line
我尝试了, endLine
, column
,endColumn
方法参数 ( )的各种组合Log.LogError()
,但无济于事。并且基于编译器错误的错误输出,它看起来也只提供了行和列(没有结束值)。
有人反对这个奇怪的问题并解决了它吗?
2009 年 5 月 13 日更新您可以在http://code.google.com/p/nunitmsbuildvsintegrated/
免费获得此项目(无需选择方法)
msbuild - MSBuild MSBuildCommunityTasks 任务时间
我有一个 MSBuild 项目,我希望将当前日期添加到我正在创建的 zip 文件中。
我正在使用 MSBuildCommunityTasks。
在网站http://msbuildtasks.tigris.org/上,我可以看到一个名为 time 的任务。我一直无法找到有关如何使用 Time 的文档。
msbuild - 遵守 msbuild 调用的批处理文件中的退出代码
我有一个使用exit
命令返回退出代码的批处理文件。
在某些情况下,可以从命令行以交互方式调用此批处理文件,或者在其他情况下,可以使用Exec
任务将其作为 MSBuild 项目的一部分运行。
- 如果我
exit %errorlevel%
在我的批处理文件中使用它会很好,并且 MSBuild 会看到错误代码,但是在这种情况下,从命令窗口运行批处理文件的交互式用户将粗鲁地退出 cmd.exe。 - 如果我使用
exit /b %errorlevel%
交互式场景没有得到粗鲁的退出,但这也意味着cmd
我的Exec
任务启动的也没有退出,因此 MSBuild 看不到返回值。
作为这两个问题的解决方案,我正在尝试使用exit /b
但从我的构建脚本中启动批处理文件,如下所示:
这个想法是我明确地从“非终端”返回exit /b
并手动调用以在构建任务可以看到它exit
的位置之外传播这个值。cmd.exe
Exec
这似乎是完美的解决方案,但它不起作用。Exec
仍然没有得到正确的错误值。
visual-studio - 如何强制 MSBuild 不部分构建目标?
我有一个构建过程,它执行以下操作:
- 在一定数量(比如 10 个)COM DLL(一组命名的任务项)上运行 TLBIMP。这是我使用 Exec 任务的“导入”目标。
- 在 10 个互操作程序集上运行 ILDASM。这是我使用 Exec 任务的“反汇编”目标。
- 运行自定义任务以同时获取所有 10 个 IL 文件并对它们进行一些处理(细节并不重要,但此任务一起处理所有 10 个 IL 文件至关重要)。这是我的“工作”目标。
- 使用 ILASM 将 10 个 IL 文件重新组合成 10 个 DLL。这是我的“组装”目标,使用 Exec 任务。
- 运行 ILMerge 以将 10 个程序集合并为一个。这是我的“合并”目标,使用 Exec 任务。
当我进行干净的重建时,一切都很好。当我进行增量构建时,只有少数原始 COM DLL 发生了变化,MSBuild 非常正确地只对适当目标进行了部分构建,因为输出实际上相对于其输入已过时。
有没有一种方法可以让我“强制”MSBuild,只针对一个目标(上面的第 3 步)运行一个传递所有输入的任务,而不仅仅是过时的输入?我不想更改自定义任务的代码以对文件名进行硬编码,我希望将它们作为 MSBuild 脚本中的 TaskItems 提供,但必须为我的自定义任务提供从COM DLL 的原始 TaskItem 组,而不仅仅是使用此特定版本重建的那些。
msbuild - Msbuild 根据目标参数列表复制到多个位置?
我有一个要复制到多个位置的目录。
说我有
- 主页.aspx
我想把它复制到
- abc/home.aspx
- def/home.aspx
- ghi/home.aspx
所以我有两个问题:
- 如何定义列表 abc、def、ghi?
- 如何使用此列表的每个元素执行我的复制任务?