我生成的序列化.dll有一个奇怪的问题。成功地生成了.dll --我可以在我的项目中引用它,所有类型都按照预期包含在命名空间Microsoft.Xml.Serialization.GeneratedAssembly中,甚至intellisense也在拾取类型和命名空间。但是,当我去构建引用生成的程序集中的任何类型的项目时,我会看到以下内容中的一个错误:
错误2命名空间‘’中不存在类型或名称空间名称(您是否缺少程序集引用?)
很奇怪,不是吗?就intellisense而言,名称空间显然存在,我以前从未遇到过这样的问题。我试着重新生成程序集,仍然是同样的问题。
现在,我已经使用标志sgen.exe运行了/keep,并将生成的源代码复制到我的项目中,这很好。我只是好奇是否有办法解决这个问题,或者是否有其他人曾经遇到过这个问题。
编辑:
事实证明,这个问题是因为生成的程序集针对的是比引用它的程序集更大的.NET框架版本。现在,问题变成了--如何使用Sgen生成一个针对特定.NET框架版本的序列化程序集。
发布于 2014-08-26 15:19:40
好的,在阅读了this question上的答案之后,我成功地为.NET 3.5生成了一个序列化程序集,该程序集具有正确的“运行时版本”,一切正常工作,很抱歉浪费了时间。
https://stackoverflow.com/questions/25507227
复制相似问题