问题标签 [tfsbuild]

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

msbuild - 使用 MSBuild 将参数传递给 MSTests

我有一个问题想知道是否可以以特定方式解决。

我希望能够在将在 TeamBuild 服务器上运行的 MSBuild 脚本中传递参数或设置某种变量。

此参数将用作在 MSTest 中设置 TestFixture 的条件,以确定要使用的类的具体实现。在构建服务器上运行时它将是一个模拟版本,而在开发人员机器上运行时是对物理资产的引用。

这很容易吗?我可以设置一个环境变量,但如果 MSTest 和 MSBuild 中有特定的东西可以使用,我会更喜欢。

0 投票
2 回答
207 浏览

tfs - 是否可以在 Team Build 期间编辑文件?

我正在寻找一种在 Team Build 中编辑配置文件(asp.net 项目中的 web.config)的方法。

具体来说,在将构建的 Web 应用程序复制到其目的地之前,我正在查看在配置文件中取消注释或添加身份模拟。

我知道可以有多个配置文件并将一个复制到另一个(我们使用这种方法来为开发、生产、演示等提供不同的配置),但在这种情况下,最好将配置保留在一个文件,因为这里唯一的变化是身份模拟应该是假的还是真的。

我已经用谷歌搜索了一段时间,但没有找到任何解决方案,但也许这里有人可以帮助我弄清楚如何或简单地说这是不可能的。有任何想法吗?

0 投票
3 回答
1026 浏览

tfs - 我应该如何引用 Team Foundation Server 版本?

我正在使用 tfs build 构建我的项目的版本,它为 tfs 构建浏览器中的构建生成唯一标识,例如“MyProject_20090122.1”,表明这是 2009 年 1 月 22 日的第一个构建。然而,这是我发布的 MyProject 1.0.0。有没有办法连接这两个标识符,还是我必须在外部和其他地方维护映射?

我是否应该让我的版本标识符确认 tfs 构建名称的方式,以便我的上述版本号应该是 1.0.20090122.1?

有没有办法向 tfsbuild 添加评论?

你怎么做呢?

编辑:

正如一些人所建议的,版本号可以通过 msbuild 更新并自动递增。然而,问题是我如何确定特定团队构建的版本,因为版本号未嵌入构建名称中?我可以控制 tfs 构建名称的标识符吗?

0 投票
2 回答
5060 浏览

.net - MSBuild 任务 - 构建失败,因为在发布而不是调试中构建了一个解决方案

我在使用MSBuild时遇到了一个奇怪的问题,我认为这可能只是一个环境问题。我们正在使用 MSBuild 构建许多单独的解决方案,它似乎可以在我的机器上运行。但是在其他几台机器上,它不起作用。

我已经追踪了这个问题,看起来当其他所有东西都在“调试”中构建时,其中一个解决方案(或该解决方案中的一个项目)正在“发布”中构建。这会导致某些引用丢失 - 因此在“发布”中构建的解决方案无法构建。我希望所有解决方案都构建在“调试”中。以下是我们当前的 TFSBuild.proj 文件 - 我们做错了什么?

0 投票
1 回答
1022 浏览

msbuild - TFS 和 TeamBuild 中的 BuildDef (tfsbuild.proj) 中的简单 Exec 任务

在 BuildExplorer 中排队时,这不起作用(取自 tfsbuild.proj):

WFPApp1 的 Builddef。. . . . . .

但这确实(取自 app1.csproj)并在 VS IDE 中构建/重建

用于 WFPApp1 的 csproj 。. . . . .

在第一个示例中,构建似乎无限期挂起,直到在 BuildExplorer 中取消。您可以通过 BuildExplorer 查看步骤,并看到所有目标都已完成。

这看起来很简单,我错过了什么?

0 投票
4 回答
4332 浏览

vb6 - VB6 - 如何从命令行(或 msbuild)自动中断兼容性

我们正在实施 Team Build,并且知道我们需要编写 MSBuild 脚本来构建我们的旧版 VB 6 应用程序。它被配置为使用二进制兼容性,我们偶尔会破坏兼容性,我们希望我们新的自动化构建过程能够自动破坏兼容性。

任何人都知道如何做到这一点,或者甚至可能吗?

或者,我知道中断只是将兼容性更改为不兼容,编译,更改为二进制并重新编译。如果有人知道如何从命令行更改兼容性,这也会有所帮助。

0 投票
2 回答
1254 浏览

tfs - TFS 构建,我应该将自定义任务添加到哪个文件?

我是 TFS 构建的新手。

我现在正在查看 .proj 文件,我看到它引用了 microsoft.teamfoundation.build.targets 文件。

我应该将自定义任务添加到哪个文件?该文件位于何处(如果不是 .proj 文件)?

我想添加一个自定义任务来运行 dotfuscator(命令行工具)并将 .xml 文件作为参数传递给它。

0 投票
7 回答
24441 浏览

c# - 程序集引用无法在我们的构建服务器上正确解析

我们使用 VS2008 SP1 用 C# 编写代码。我们有一台运行 Team System Server 2008 的服务器,我们将其用于源代码控制、任务等。该服务器也是我们用于Team Build的构建机器。这已经工作了很长时间了。直到目前。当我们尝试构建一个引用了一个外部程序集的项目时,我们会收到这些错误消息(这发生在 Team Build 中,以及在物理登录并通过 Visual Studio 进行常规构建时):

C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets :警告 MSB3246:已解析文件的图像错误、没有元数据或无法访问。无法加载文件或程序集“C:\Program Files\Syncfusion\Essential Studio\7.1.0.21\Assemblies\3.5\Syncfusion.XlsIO.Base.dll”或其依赖项之一。该模块应包含程序集清单。

C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\ReportingServices\Microsoft.ReportingServices.targets(24,2):错误 MSB4062:无法从 Microsoft 程序集加载“Microsoft.Reporting.RdlCompile”任务。 ReportViewer.Common,版本=9.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a。无法加载文件或程序集 'Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。该模块应包含程序集清单。确认声明正确,并且程序集及其所有依赖项都可用。

找不到引用的组件“Syncfusion.XlsIO.Base”。

这些错误是针对一个有一个有问题的程序集引用的项目。当我尝试构建整个解决方案时,当然会因为这个错误而出现更多错误。还有另外两个项目与其他程序集引用有相同的问题。我有一个 VS 似乎无法解析的引用程序集列表:

  • Microsoft.ReportViewer.Common
  • Microsoft.ReportViewer.WinForms
  • Syncfusion.Compression.Base
  • Syncfusion.Core
  • Syncfusion.XlsIO.Base

Syncfusion 程序集来自第 3 方组件包。其他两个与 Microsoft ReportViewer 组件有关。

引用是通过.NET 选项卡中的“添加引用”窗口添加的,所以我认为这没有任何可疑之处。在程序集引用的属性窗口中,Culture、Description、Path、Runtime Version 或 Strong Name 中没有值。版本说 0.0.0.0 和 Resolved 是 False。我想很明显 VS 无法解析引用。我的问题是为什么???我为这个问题挠了挠头。这仅发生在服务器上,该解决方案在我的机器和我的同事机器上都构建得很好。装配参考属性在我们的机器上很好。

我尝试卸载3rd-party 组件(当然是在服务器上),然后重新安装。没有帮助。我试图修复VS2008安装。没有帮助。试图从源代码控制中检索早期版本(我知道以前在服务器上构建过),但我得到了相同的错误消息。我检查了文件权限,一切似乎都井井有条。我的想法已经不多了...

我该如何解决这个问题?

2009 年 2 月 16 日更新:
我试图比较我的电脑和服务器上的 dll 的 ildasm 输出(请参阅我写的关于此的评论),在我看来是评论的一行中有一个小差异。我必须承认我根本不明白为什么会有区别,所以也许有人可以向我解释一下?我还尝试在服务器上
运行病毒扫描。没有帮助。试图删除引用,然后通过浏览磁盘上的 dll 来读取它没用。

2009 年 3 月 17 日更新:
我找到了解决方案!罪魁祸首是Panda Antivirus 的 TruPrevent 模块。禁用模块后,一切正常!=)我在fuslogvw.exe及其生成的日志
的帮助下发现了这一点。谷歌搜索结果,偶然发现了这个博客条目。. 希望这可以帮助其他人。

0 投票
2 回答
6764 浏览

tfs - 如何发送包含 TFS 构建状态的自定义电子邮件

我想在 TFS 构建期间或之后发送自定义构建状态电子邮件,但它看起来不像实际编译状态等,直到整个过程结束后才知道。有谁知道发送具有真实构建状态的自定义电子邮件(内置警报电子邮件除外)的方法?

0 投票
1 回答
1079 浏览

tfs - 如何在 TFS 构建报告中创建自定义部分?

我知道如何添加自定义BuildStep任务;但是,最好创建一个新部分,类似于“摘要”和“构建步骤”部分。

我们根据工作空间和目标环境之间的差异,有选择地在成功构建上部署文件。我们确实为我们移动的文件和它们覆盖的文件创建了一个 HTML 和 XML 日志。最好在构建报告中添加一个部分以显示此信息。

像这样的东西:

图片 http://www.freeimagehosting.net/uploads/71360b417a.png

有任何想法吗?