【问题标题】:Visual Studio 2015 builds sucessfully, but after checkin build fails in TFS 2013Visual Studio 2015 构建成功,但在 TFS 2013 中签入构建失败后
【发布时间】:2018-12-20 14:48:42
【问题描述】:

有时,在检查对 TFS 的更改后,我会遇到构建错误,因为 TFS 编译器不支持更新的语法,例如:

自动属性初始化器

public int X { get; set; } = x;

?。和 ?[] 空条件运算符

int? count = customers?[0]?.Orders?.Count();

Visual Studio 2015 编译器没有检测到这些问题(项目编译正常),这意味着在发生构建错误后,我通常必须进行另一次检查以从解决方案中删除无效语法。

是否有可能以某种方式更改 VS2015 解决方案,以便在我对 TFS 进行检查之前捕获这些错误?

【问题讨论】:

  • 如果在 TFS 构建中出现错误,您可以在 TFS 构建步骤中使用更新版本的 MSBuils。
  • TFS 服务器不受我控制。理想情况下,我想通过修复 VS2015 来解决此问题,以便在我使用较新的 C# 语法时它也会吐出错误。

标签: visual-studio-2015 tfs c#-6.0


【解决方案1】:

带有 XAML 构建的 TFS 2013 只是使用 MSBuild 来运行构建。您可以尝试使用 MSBuild 命令先在本地运行构建测试,这样可以缩小问题范围。

如果它在您的开发机器上运行良好,但在 TFS 服务器构建中运行不正常。很可能是环境问题。

为确保构建成功,您应该保持构建服务器环境与本地环境相同。请仔细检查,例如 Visual Studio 版本。

为了解决问题,您可以尝试远程到您的构建代理手动运行您的构建并在您的构建代理上进行测试。

【讨论】:

  • 感谢您的回复,但就像我说的 TFS 服务器超出了我的控制范围。此后,我通过将 C# 项目中的编译选项更改为仅支持 C# 5.0 解决了这个问题。
  • @bastos.sergio 很高兴听到问题已解决。当你自己修复它时总是更好。了解您缺少 TFS 服务器控制。只是给出一些解决构建错误相关问题的建议。正如您在上面提到的和我在上面建议的那样,您应该首先确保一切在本地运行良好,然后转到 TFS 构建。这似乎是 VS 的本地问题。
猜你喜欢
  • 1970-01-01
  • 2015-12-29
  • 2014-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 1970-01-01
  • 2012-08-24
相关资源
最近更新 更多