【发布时间】:2016-12-22 16:53:36
【问题描述】:
我有一个正在使用博客服务的项目。在此服务中,有一个类型为 System.Runtime.Serialization.IExtensibleDataObject 的对象。
这一切都很好,我可以在本地构建我的项目并发布它(并且在 IIS 下运行时两者都可以工作)但是当我签入时,门控签入的构建失败(请参阅下面的错误)并且我无法签入代码。
错误 CS0012:“System.Runtime.Serialization.IExtensibleDataObject”类型在未引用的程序集中定义。您必须添加对程序集 'System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的引用
这个 dll 在我的 DAL 项目中被引用,该项目被我的网站项目引用。
我的项目使用 .net 4.6.1,我检查它是否安装在构建服务器上。我还检查了 dll 文件的位置是否相同(C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll - 它在构建服务器上并且应该在哪里。
我也尝试添加对网站项目的引用,但这没有帮助。我不确定是什么原因造成的,不知道如何解决。
如果有人遇到过类似情况,我们将不胜感激
如果有什么不同,我在 windows 10 上本地运行,但构建服务器是 windows server 2012(尽管我发布的站点也适用于 windows server 2012)
【问题讨论】:
-
您是否在详细模式下运行构建并检查输出是否有线索?
-
因为它是一个 tfs 构建,不知道如何设置它的详细程度,从我看到的帖子来看,进程选项卡下应该有一个诊断设置,但我的进程选项卡看起来与显示的
-
这可能会有所帮助 - “要从构建定义更改 TFS 2013 构建的详细程度,请在构建定义中进程选项卡的 MSBuild 参数部分传递参数:
/flp:verbosity="<verbosity>"。 " - source
标签: c# .net tfs build gated-checkin