0

我的解决方案可以正确构建,在我的工作站上没有错误,而在使用 TFS 构建时,相同的源会出错。

解决方案项目面向 .NET 4.0,我在工作站上使用 VisualStudio 2012。使用 tfs.visualstudio.com (tfspreview.com) 保留源代码,我尝试使用 tfspreview 上的托管构建控制器和我自己的构建控制器构建它,该控制器在我的服务器上托管 TFS 2012。

我在使用 dynamic 的代码中得到错误ExpandoObject

为什么我的解决方案不能在 TFS 上构建?

如果需要,我可以提供更多详细信息。

4

2 回答 2

0

您是否尝试过托管构建以查看是否有效?

肯定是expandoobject吗?如果您注释掉该代码,构建是否成功?

您可以发送构建日志的摘录吗?

于 2013-09-09T08:02:29.957 回答
0

我会将其发布为答案,因为它解决了这个奇怪的问题。

该项目的解决方案之一对同一个开源库有两个单独的引用。一个是下载的预编译库,另一个是我保留同一个库的源代码的另一个项目。第一个是 Nuget 添加的,第二个是手动添加的。

实际执行此操作(添加相同程序集的两个引用)的可能性可能是 Visual Studio 或 Nuget 中的一个错误。后来当我试图重构这个错误时,出现了一条错误消息,说已经引用了特定的程序集名称。

对于编译,我知道 TFS 构建代理只考虑了预编译的程序集(Nuget 包)并引发了错误。

Visual Studio 考虑了我修改为与 ExpandoObject 一起使用的程序集源。

手动调用 build 命令会产生与 TFS 相同的错误。

我删除了两个引用并仅添加了一个(无论如何都无法再次添加另一个)。对于我的解决方案,这平衡了 TFS 和 VS 的构建行为。

我知道这很奇怪,我仍然不记得这个双重引用错误是如何发生的。我的猜测是,可以通过手动编辑 .proj 文件来重建此错误。

于 2013-10-18T18:43:50.283 回答