问题标签 [msbuild-4.0]

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 回答
274 浏览

tfs - 部署失败并出现错误:用户“xx”登录失败

在 TFS 中部署构建在 10 秒内失败,并出现以下错误。 部署失败并出现错误:用户“XX”登录失败 任何帮助谢谢,肯定的

0 投票
1 回答
278 浏览

msbuild-4.0 - 是否可以将要构建的项目列表存储在 TFS2010 构建定义的外部文件中?

在我开始构建解决方案文件的工作之前,我有一个旧版构建定义。现在,根据这篇文章,MSBuild 完全忽略了为解决方案设置的构建顺序,因此我创建了一个新的构建定义,它按照解决方案的构建顺序以正确的顺序构建解决方案的项目文件。虽然这解决了我最初的问题,但为我的构建定义设置要构建的项目列表需要很长时间,因为该解决方案有 100 多个项目,并且通过 UI 输入所有这些项目有点痛苦。

如果构建定义可以引用包含要构建的项目列表的外部文件,则此问题的理想解决方案是。这也将帮助我,因为开发人员还可以使用任何需要使用正确构建顺序构建的新添加项目来更新此列表。

有谁知道这是否可行,如果可以,如何实现?

0 投票
1 回答
2230 浏览

powershell - 如何使用 PowerShell 为 MSBuild 属性设置值

我有一个属性来指定构建驱动器:

如果我想使用批处理文件更改构建驱动器,我可以执行以下操作:

现在我想使用 PowerShell 实现相同的目标。

我在我的 PowerShell 脚本 build.ps1 中尝试如下:

但它不支持通过 $BuildDrive 提供的驱动器号。我知道如果按如下方式传递一个参数就可以实现,但是当属性的数量更多时,这种方法就不方便了。

如何PropertyGroup通过 PowerShell 传递值?

0 投票
1 回答
397 浏览

.net - 如何使用 msbuild 在多个属性文件中构建解决方案列表?

我有以下 Msbuild 属性文件列表。

C:\Build\Mainscript\Master.targets

C:\Build\Mainscript\Master.properties

C:\Build\Component1\build.comp1.properties

C:\Build\Component2\build.comp2.properties

C:\build\Component3\build.compn.properties

Component1.properties 具有如下解决方案列表

Component2.properties 具有如下解决方案列表

Master.properties 将具有所有组件的通用属性。

我的目标如下,它帮助我构建所有组件

大多数时候,我想单独构建一些特定的组件。如何单独传递特定组件。

0 投票
1 回答
111 浏览

msbuild - 如何使用 msbuild 阅读邮件?

有没有办法使用 msbuild 读取邮件内容?有任何自定义任务或社区任务可用于实现此目的吗?

0 投票
2 回答
1603 浏览

powershell - 如何测量构建执行时间?

我在 msbuild 中有构建脚本,它将由 powershell 调用。

构建日志文件看起来像这样。

构建于 2011 年 12 月 19 日下午 2:01:54 开始。

构建成功。0 警告 0 错误

经过时间 00:00:00.28

在起点,它将指定构建执行的启动时间,结束时它会说 Time elapsed。

我想使用 powershell 或 msbuild 查找执行时间。如何添加所有经过的时间值或找到上次构建开始发生与首次构建发生之间的差异?

因为它在日志文件中,我不知道如何检索和测量。

0 投票
1 回答
218 浏览

msbuild - 自定义任务被多次调用

我最近正在学习如何使用 MSBuild,所以我决定编写自己的自定义 MSBuild 任务。我发现 MSBuild 调用我的任务很好......但它一遍又一遍地调用它。它会多次重复调用它,即使 msbuild 项目只调用它一次。

这是我的项目 XML:

如您所见,我在项目中只调用了一次 Copy_To_Build 任务。我导入了一个 xml 文件,其中包含传递给我的 Copy_To_Build 任务的 SourceFiles 属性的项目。一切都很好。除了一件事:问题是我的自定义任务上的 Execute 方法被多次调用。

我知道它被多次调用,因为我在其中放置了一个 print 语句,表明该函数不止一次被调用。我预计它只会被调用一次。

是否因为我设置了某种线程选项而被多次调用?我写了一条语句来打印当前线程:

但这表明一切都在同一个线程上。最后但同样重要的是,这是我用来调用所有内容的命令行脚本:

总而言之:为什么我的任务被多次调用?

谢谢

0 投票
1 回答
197 浏览

powershell - 通过 powershell 作为命令行参数传递时不考虑 Msbuild 属性

我正在尝试使用 Powershell 如下通过命令行参数 ($args[0]) 传递属性,但没有考虑它。

如果我像下面这样通过属性,则正在考虑它。

为什么直接应用命令行参数时不考虑它?

我可以将命令行值存储在某个变量中并传递,但是还有其他机制可以直接传递它吗?

0 投票
2 回答
14190 浏览

visual-studio-2010 - 在具有 Windows SDK 7.1 但没有 VS2010 的 PC 上构建 C++ 项目

我有一个在 VS2010 中开发的 C++ 项目(某种控制台 32 位应用程序),它在我的 PC(Windows 7 32 位)上构建得很好。我的电脑安装了 Microsoft SDK 7.0A,我认为它与 VS2010 捆绑在一起。
我尝试在没有安装任何 Visual Studio 的构建服务器上构建项目——那里只有 Microsoft SDK 7.1。
我尝试在 msbuild 的帮助下构建项目(这最终将成为 TeamCity 跑步者的任务),并且在构建服务器上出现以下错误(提供了详细日志):

我想这个问题与 msbuild 无法找到安装到"E:\Program Files\Microsoft SDKs\Windows\v7.1".

网上关于如何处理这个问题的建议很少:

  1. 将部分注册表复制到下HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1HKCU请参阅WindowsSdkDir is not set correct in Visual Studio 2008?)。我没有尝试这种解决方法,因为它看起来太丑了,并且构建过程将使用 SYSTEM-account 凭据运行。
  2. WindowsSDKDir作为额外参数传递给 MSBuild(如TeamCity 和 MSBuild Quirks #1中所建议的)。
  3. 按照在TeamCity构建配置中包含搜索路径的答案VCProjectEngine.dll.config.xml中提出的调整(我没有在带有 Windows SDK 的 PC 上找到这样的文件)。
  4. 按照在 Visual Studio 2010 中未正确设置 WindowsSdkDir的答案中的建议更改项目属性中的平台工具集(我怀疑这会有所帮助,因为我的 PC 没有安装 Windows SDK 7.1)。

实际上,当编译CL.EXE一切正常时(因为我已经定义INCLUDELIB变量),所以强制msbuild使用/传递环境变量将是一种解决方法......

有类似的问题:

无论如何,有没有人在安装了 Windows SDK 的 PC 上成功构建 Visual C++ 2010 项目

0 投票
2 回答
2549 浏览

xml - 如何将批处理文件转换为 XML 文件

我有一个写入 Xcopy 命令的文件。现在我需要将它们移动到 xml 文件格式,以便我可以在 Msbuild 中使用它们执行。

以下是我的文件内容

我想将其作为xml文件如下

是否有任何 powershell 脚本或其他简单的方法来实现这一点?