0

我有一个使用博客服务的项目。在此服务中,有一个类型为 的对象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)

4

2 回答 2

0

尝试这篇文章中的解决方案:

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

于 2016-08-17T03:26:07.060 回答
0

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

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

于 2016-08-17T14:25:04.707 回答