门控签入不会建立

Gated checkin won't build

我有一个项目正在使用博客服务。在此服务中,有一个 System.Runtime.Serialization.IExtensibleDataObject.

类型的对象

这一切都很好,我可以在本地构建我的项目并发布它(并且在 运行 下 IIS 下都可以工作)但是当我签入时,门控签入的构建失败(见下面的错误) 而且我无法签入代码。

error CS0012: The type 'System.Runtime.Serialization.IExtensibleDataObject' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

我的网站项目引用了我的DAL项目中引用了这个dll。

我的项目使用 .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 服务器 2012)

尝试解决方案 :

在主文件中添加System.Runtime.Serialization。

好的,为了解决这个问题,我不得不在所有引用DAL项目并被网站项目使用的项目中添加对System.Runtime.Serialization的引用。

在本地而不是在构建服务器上构建看起来很愚蠢