尝试使用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'。请确保 引用包含此类型的程序集。如果这种类型是 作为开发项目的一部分,确保项目已经完成 使用当前平台或Any的设置成功构建 CPU。
在这里,我通过了Button控件并设置了size属性。
答案 0 :(得分:1)
我记得我曾经有过“找不到类型System.Drawing.Size”一段时间了,我花了太多时间来修复它。我真的不记得最终修复它的是什么,我认为选择Any CPU
根本不是问题。虽然它与您的上下文不完全相同,但我仍然认为值得尝试以下内容,因为它可能是一个问题,与您解决方案中的几个项目引用System.Drawing.dll
的不同版本有关。
因此,请尝试对所使用版本中的不一致性进行双重检查(即使packages.config条目看起来没问题),并确保它们都引用相同的版本(例如.net461)。
就我而言,解决方案中的30多个库中的一些原来是使用.net45;我使用了一个名为Target Framework Migrator的工具来解决这个问题。你可以通过Tools =>获得它。扩展和更新=>在线=> Visual Studio Gallery
然后在“搜索字段”中键入Target Framework Migrator。
我确实记得,我在尝试修复问题时也将.Net升级到4.6.1 ...也许你也可以试试这个......但无论如何都要为你自己的库运行Target Framework Migrator(并且重新启动VS 2015就绝对值得一试。
祝你好运!