我有这个奇怪的问题,我无法处理自己.设计为singleton的mvp-project模型中的类会导致InvalidCastException.在此代码行中找到错误源,其中反序列化对象被分配给类的实例变量:engineObject = (ENGINE)xSerializer.Deserialize(str);每当我尝试将一个UserControl添加到Form或不同的UC时,就会出现错误.我所有的UC都有一个特殊的演示者,可以访问上面提到的单例类的实例变量.这是我尝试在某处添加UC时得到的结果:
'System.TypeInitializationException:'MVP.Model.EngineData'的类型初始值设定项引发了异常.----> System.InvalidCastException:[A]引擎无法转换为[B]引擎.键入从A起源 'MVP.Model,版本= 1.0.0.0,文化=中立,公钥=空' 在位置上下文 'LoadNeither'"[...] \应用程序数据\漫游\微软\ VisualStudio的\ 9.0\ProjectAssemblies\uankw1hh01\MVP.Model.dll".B型在位置上下文 'LoadNeither' 从 'MVP.Model,版本= 1.0.0.0,文化=中立,公钥=空' 起源"[...] \应用程序数据\漫游\微软\ VisualStudio的\ 9.0\ProjectAssemblies\u_hge2de01\MVP.Model.dll" ...
所以我不知何故有两个程序集,它们不是从我的项目文件夹访问,而是从VS临时文件夹访问?我google了很多,只发现了这个:IronPython例外:[A]人不能被投射到[B]人.有一个解决方案,但首先它涉及IronPhyton,其次我不知道在我的项目中使用它?
如果你能在这里帮助我,那将是非常好的:-) thx
我将xsd文件中某些参数的数据类型从字符串更改为实际类型,在本例中为double.现在我面临的问题是,这里的逗号被用作分隔符,而不是w3(http://www.w3.org/TR/xmlschema-2/#double)定义的点,导致错误全部在反序列化期间(C#,VS2008).
我的问题:我可以使用w3架构进行验证,但是对于double值使用不同的分隔符吗?
谢谢你的帮助