问题标签 [msbuild]

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 投票
2 回答
7702 浏览

msbuild - 使用 AssemblyInfo 自动更新多个 AssemblyInfo.cs 文件

我有几个 AssemblyInfo.cs 文件作为单个解决方案中许多项目的一部分,我作为 TeamCity 的一部分自动构建。

为了使 msbuild 脚本更易于维护,我希望能够将 AssemblyInfo 社区任务与 ItemGroup 结合使用,例如

这显然不起作用,因为 OutputFile 不能是引用的 ItemGroup。

任何人都知道如何使这项工作?

0 投票
5 回答
3231 浏览

msbuild - 你给 MSBuild 项目构建文件起什么名字?

我正在尝试学习如何使用 MSBuild,以便我们可以使用它来构建我们的项目。文档中似乎有一个非常大的漏洞,我在任何地方都发现了这个漏洞,这个漏洞是你如何命名或以其他方式指定 MSBuild 项目文件?

例如,可以从 Microsoft 下载的有关 MSBuild 的教程详细介绍了构建文件的内容。例如,这里有一点他们的 Hello World 项目文件。

它继续等等等等等等等等等等等等的项目,这就是你如何做到这一点,这就是你如何做到这一点。没用,完全没用。因为他们从来不说这个 xml 文件应该如何被 MSBuild 应用程序识别。它应该以特定方式命名吗?它应该放在特定目录中吗?两个都?两者都不?

他们不告诉它的不仅仅是MS教程。我无法在 MSDN 上找到它,也无法在任何我可以从 Groups.Google 中提取的链接上找到它。

这里有人知道吗?我当然希望如此。

编辑添加: 我将教程中包含的 .proj 文件误认为是 .csproj 文件,这就是提供给 MSBuild 的文件,但在我看到这个之前,它得到了下面的答案。这应该很明显,但我错过了。

0 投票
3 回答
1934 浏览

c# - 如何扩展 msbuild 以在 .cs 文件上运行自定义预处理器?

我有一个自定义程序,它预处理一个 C# 文件并生成一个新的 C# 文件作为输出。我想在项目中的每个 C# 文件上从 msbuild 调用它,然后编译输出文件而不是原始 C# 文件。我该怎么办?

0 投票
10 回答
106244 浏览

build - 使用 msbuild 复制所有文件和文件夹

只是想知道是否有人可以帮助我编写一些我正在尝试编写的 msbuild 脚本。我想做的是使用 msbuild 将所有文件和子文件夹从一个文件夹复制到另一个文件夹。

我需要做的是将所有文件和子文件夹从工具文件夹复制到应用程序的调试文件夹中。这是我到目前为止的代码。

构建脚本运行但不复制任何文件或文件夹。

谢谢

0 投票
2 回答
2611 浏览

tfs - 如何在失败的 Team Foundation Build 结束时禁用工作项创建?

我正在使用 Team Foundation Build,但我们尚未使用 TFS 进行问题跟踪,因此我想在失败的构建上禁用工作项创建。有没有办法做到这一点?我尝试在构建类型的 TFSBuild.proj 文件中注释掉工作项信息,但这并没有成功。

0 投票
6 回答
7641 浏览

msbuild - MSBuild 不获取被引用项目的引用

我刚才在使用 MSBuild 时遇到了一个奇怪的情况。有一个解决方案包含三个项目:LibX、LibY 和 Exe。Exe 引用了 LibX。LibX 又引用了 LibY,有一些内容文件,还引用了第三方库(安装在 GAC 和本地 lib 文件夹中的几个预构建程序集)。第三方库被标记为“复制本地”(“私有”)并出现在 LibX 项目的输出中,就像 LibY 的输出和 LibX 的内容文件一样。现在,Exe 项目的输出有 LibX 项目输出、LibX 项目的内容文件、LibY 项目输出(来自 LibX),但没有第三方库的程序集。

现在我通过直接在 Exe 项目中引用第三方库来解决这个问题,但我觉得这不是一个“正确”的解决方案。

以前有人遇到过这个问题吗?

0 投票
8 回答
10608 浏览

visual-studio - MSBuild 目录结构限制变通办法

有没有人有办法克服 MSBuild 工具的 260 个字符限制,以便从命令行构建 Visual Studio 项目和解决方案?我正在尝试使用 CruiseControl 使构建自动化(CruiseControl.NET 不是一个选项,所以我试图将其绑定到普通的 ant 脚本中)并且我一直遇到路径长度问题。澄清一下,问题在于解决方案文件中引用的项目路径的长度,因为该工具没有正确折叠路径:(

我也尝试过使用 DevEnv,它有时可以工作,有时会引发异常,这对于在单独的机器上自动构建并不好。所以请不要建议使用它作为替代品。

最重要的是,当通过普通 IDE 使用 Visual Studio 时,项目构建良好。

0 投票
6 回答
9290 浏览

msbuild - 与从命令行运行 DevEnv.exe 相比,使用 MSBuild 或 NAnt 的优势

谁能解释使用像 MSBuild(或 NAnt)这样的工具来构建项目集合与从命令行运行 DevEnv.exe 相比有什么优势?

我过去共事过的一位同事解释说(至少在旧版本的 Visual Studio 中)使用 DevEnv.exe 比其他技术慢得多,但我还没有读到任何证据,或者如果那现在是现在有争议的一点是,从 2005 年开始,Visual Studio 在后台使用 MSBuild。

我知道使用 MSBuild 的一个优势是让您无需在构建机器上安装 Visual Studio 即可构建您的项目,但我不确定是否还有其他优势。

0 投票
1 回答
267 浏览

msbuild - 使用 MSBuild 在同一解决方案中访问第二个项目

我是 MSBuild 的新手,并且正在学习,因为我需要知道如何做事。目前,我正在使用从 Visual Studio 的 Web 部署项目扩展生成的 MSBuild 文件。我一直在通过创建以下 XML 块的属性来访问和操作直接在我的 Web 项目中的文件:

我需要创建属性来操作我的解决方案中其他项目的其他文件。谁能指出我的正确语法?

0 投票
4 回答
5269 浏览

msbuild - MSBuild - 获取从命令行调用的目标

有谁知道如何获取从 MSBuild 命令行调用的目标 (/t) 的名称?可以调用几种类型的目标,我想在给用户的通知中使用该属性。

例子:

我想访问ApplicationDeployment我的 .Proj 文件中的目标词。

有我可以访问的财产吗?任何线索如何做到这一点?

编辑:我不想也传递一个属性来获得这个。

更新:这是基于使用 MSBuild 脚本的部署脚本。我的构建服务器不用于部署代码,仅用于构建。构建服务器本身具有可以选择加入的构建通知。