比较程序集名称时发生了处理器结构不匹配: Ref x86,Def MSIL
2010-10-19 09:58
363 查看
程序上的事 2009-08-18 00:10:49 阅读102 评论0 字号:大中小 订阅
闲话不说,上代码:(C#)
FontLoadInfo ret = new FontLoadInfo();
XmlSerializer serializer = new XmlSerializer( typeof( FontLoadInfo ) );
FileStream stream = File.Open( filePath, FileMode.Open );
ret = (FontLoadInfo)serializer.Deserialize( stream );
起初运行到第二行会报错:
显示名为"XXX.XmlSerializers”的程序集未能加载到 ID 为 1 的 AppDomain 的“LoadFrom”绑定上下文中。错误的原因为: System.IO.FileNotFoundException: 未能加载文件或程序集
(这里的XXX代替的是FontLoadInfo所在的程序集的名字。)
习惯性的用Filemon查了一下,发现程序实际上是在搜索XXX.XmlSerializers这个程序集。一直找不到,故报错。
那么这个程序集要从哪里得到呢?MSDN上有介绍,要使用sgen工具:
进入.NET FRAMEWORK 的SDK命令行提示,到XXX所在的目录输入sgen xxx.dll,回车
xxx.XmlSerializers.dll被成功创建。。
事情还没有这么简单就结束:
异常依旧,只不过异常的详细信息中显示:比较程序集名称时发生了处理器结构不匹配: Ref x86,Def MSIL
这句话究竟是啥意思就只意会不言传了:)
一阵子搜索之后,还是在MSDN上搜到了解决方法:
http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/9447a0d9-e719-41aa-a654-363bb66b82c9
说白了,这种情况要这样输:
sgen XXX.dll /c:"/platform:x86"
让主程序和sgen生成的程序集平台属性一致。
在此记一笔。
闲话不说,上代码:(C#)
FontLoadInfo ret = new FontLoadInfo();
XmlSerializer serializer = new XmlSerializer( typeof( FontLoadInfo ) );
FileStream stream = File.Open( filePath, FileMode.Open );
ret = (FontLoadInfo)serializer.Deserialize( stream );
起初运行到第二行会报错:
显示名为"XXX.XmlSerializers”的程序集未能加载到 ID 为 1 的 AppDomain 的“LoadFrom”绑定上下文中。错误的原因为: System.IO.FileNotFoundException: 未能加载文件或程序集
(这里的XXX代替的是FontLoadInfo所在的程序集的名字。)
习惯性的用Filemon查了一下,发现程序实际上是在搜索XXX.XmlSerializers这个程序集。一直找不到,故报错。
那么这个程序集要从哪里得到呢?MSDN上有介绍,要使用sgen工具:
进入.NET FRAMEWORK 的SDK命令行提示,到XXX所在的目录输入sgen xxx.dll,回车
xxx.XmlSerializers.dll被成功创建。。
事情还没有这么简单就结束:
异常依旧,只不过异常的详细信息中显示:比较程序集名称时发生了处理器结构不匹配: Ref x86,Def MSIL
这句话究竟是啥意思就只意会不言传了:)
一阵子搜索之后,还是在MSDN上搜到了解决方法:
http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/9447a0d9-e719-41aa-a654-363bb66b82c9
说白了,这种情况要这样输:
sgen XXX.dll /c:"/platform:x86"
让主程序和sgen生成的程序集平台属性一致。
在此记一笔。
相关文章推荐
- 所生成项目的处理器架构“MSIL”与引用“Microsoft.AspNet.Scaffolding.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86”的处理器架构“x86”不匹配。
- C# 所生成项目的处理器架构“MSIL”与引用“Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。
- 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器...
- 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器...
- C#、VS2012 Winform程序解决方案名称更改后报错“调试器无法继续运行该进程。调用的目标发生了异常。”
- Delphi 开发时运行出现 程序连接数据库错误 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
- 发布开源程序:数据库结构比较
- X86架构32位和64位的STACK FRAME结构差异比较
- 项目名称:已知学生的记录由学号和学习成绩构成,4名学生的数据已存入结构体数a中,请编写程序,找出成绩最低的的学生记录并输出。
- C++ x86程序与x64程序中,各种内置类型的大小比较
- 面向处理器结构的程序优化
- (转)在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象可能分配在堆上吗?什么情况下会发生,有什么需要注意的吗?
- C程序的内存结构和C++程序的内存结构比较
- JAVA入门.零基础学Java语言 MOOC 第二 第三 第四周 比较 判断 分支 循环 —————— 程序控制结构(顺序,分支,循环)
- 使用java程序比较mysql表结构
- Anatomy of a Program in Memory(程序运行时内存结构)
- win7安装oracle 10g时发生"程序异常终止.发生内部错误"
- SQL Server 比较两个数据库的视图和存储过程结构差异
- 编写一个程序,可以通过次程序完成一个表的创建操作,输入表的名称,各个列的名称及类型,输入完成后直接通过JDBC创建指定的表。
- linux程序设计之线程、进程和程序的简单比较