C# SerializationStore找不到引用

C# SerializationStore找不到引用,c#,codedom,system.componentmodel,C#,Codedom,System.componentmodel,尝试使用ComponentSerializationService反序列化时,将填充未找到引用的错误: public ICollection Deserialize(object serializationData) { var serializationStore = serializationData as SerializationStore; var componentSerializationService = _serviceProvider.GetService(t

尝试使用ComponentSerializationService反序列化时,将填充未找到引用的错误:

public ICollection Deserialize(object serializationData)
{
    var serializationStore = serializationData as SerializationStore;
    var componentSerializationService = _serviceProvider.GetService(typeof(ComponentSerializationService)) as ComponentSerializationService;
    var collection = componentSerializationService.Deserialize(serializationStore);
}
错误,例如:

找不到类型“System.Drawing.Size”。请确保 引用了包含此类型的程序集。如果这种类型是 作为开发项目的一部分,请确保项目已完成 使用当前平台或任何应用程序的设置成功生成 中央处理器


在这里,我传递了一个按钮控件并设置了size属性

我记得有一段时间我有一个“找不到type System.Drawing.Size”的问题,我花了太多时间来修复它。我真的不记得是什么最终修复了它,我也不认为选择任何CPU是一个问题。虽然它与您的上下文不太一样,但我仍然认为值得尝试以下内容,因为从解决方案中的几个项目中引用不同版本的
System.Drawing.dll
,可能会造成问题

因此,请尝试再次检查所用版本中的解决方案是否存在不一致(即使packages.config条目看起来正常),并确保它们都引用了相同的版本(.net461)

在我的例子中,解决方案中的30多个库中有一些使用了.net45;我使用了一个名为targetframeworkmigrator的工具来解决这个问题。您可以通过工具=>extensions and Update=>Online=>VisualStudioGallery获得它

然后在搜索字段中键入targetframeworkmigrator

我确实记得,在我试图解决这个问题的过程中,我还将.Net升级到了4.6.1。。。也许你也可以试试这个。。。但是在任何情况下,为您自己的库运行目标Framework Migrator(并在途中重新启动VS 2015)绝对值得一试


祝你好运

如果您至少提供了您正在做的事情的完整示例,那就太好了。序列化/反序列化是否发生在已拆分的项目中?您的应用程序是WPF还是WinForm?@JL。你有没有看过这个链接:有一个男人提问者提到的解决方案himself@JL. 我还建议你看看这个链接,这可能会有所帮助