第一种为程序的运行以平台系统位数不匹配,第二种则是该死的VS整出来的...
一般在下面三种情景下会发生.
1.64位系统上C#调用32位的C++ *.dll
2.64位系统上IIS发布含有32位的 *.dll应用程序时
3.64位系统上编写C++ *.dll,在64位系统上通过 C#调用 ,可能成功,也可能失败,失败就报BadImageFormatException 异常,也是最二的一种情况.是由该死的VS整出来的
解决方法如下:
1.VS在64位系统下面,编译调试某个C++的API的时候,报错:未处理BadImageFormatException 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
详见下图:
其原因是该API是在32位系统下面开发的,在64位系统上面开发编译的时候需要将生成的目标平台设为X86。
方法是:
在右边的“解决方案资源管理器”里,右键该项目点击属性。在属性窗口里选择“生成”——“目标平台”下拉里选中“X86"即可。见下图:
然后保存重新编译
原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的。不能混编访问。不然会出现“试图加载格式不正确的程序”的错误
解决办法是把发布网站的程序池开通32位兼容性即可,如下图:
3.如果上面的没有解决,那就是VS中C#工程的问题,打开对应的工程文件(*.csproj),如下图<Prefer32Bit>false</Prefer32Bit>节点
下面是MSDN的解释:
CSharpProjectConfigurationProperties6.Prefer32Bit 属性
获取或设置一个标志,指示是否首选的 32 位平台。
命名空间: VSLangProj110
试图加载格式不正确
点赞文章给优秀博主打call~
生肖羊,43岁之后贵人缠身,特别强调1979年的,不要钱!
测算大全仅供娱乐
广告
原因分析:一、 光驱与系统光盘的问题
1.介质问题(如光盘、ISO或GHO文件损坏等),更换为没有问题的就可以了;
2.光驱读盘能力差,可以试着进入PE将GHO文件拷贝到非C盘下的目录自己运行GHOST进行恢复即可;
二、 硬盘的格式问题
比如C盘的格式了是NTFS,而ghost系统是FAT32格式,使软件工具把C盘的格式转换成为FAT32。
三、 硬盘问题
重写硬盘的引导扇区再格式化,进入纯dos: FDISK /MBR 再: FORMAT C:
四、 内存问题
主板跟内存也有因果(内存跟主板不兼容).
多发生在老的Lntel芯片组的主板.特别是装有多条内存的情况下,更易发生恢复GHOST系统时出现A:\GHOSTERR.TXT的现象.原因是内存跟主板不兼容,因为Lntel芯片组的主板只有提供4条Bank,DIMM2/3公用俩条Bank
解决办法:
(1)内存不能超过512M
(2)使用俩条以上的内存,最好选用同一品牌.同一规格(容量除外)的内存
(3)要使用三条内存,确保DIMM2/DIMM3插槽上使用的都是单面内存,也就是不能超过4面Bank
(4)尽量不要超频.
(5)换过质量好的内存
(6)内存换过插槽.
五、 ISO文件不正确
产生原因:
1.iso下载不完整,无论什么方式下载一定要校验md5码
2.刻录机刻录质量不好或刻录盘质量有问题,刻录要采用低于24x的终结刻录
3.安装时所用的光驱读盘性能有问题
4.ghost时有震动机箱等外力因素,一般重新安装就好了
5.超刻造成的因素最大,所以超过700m的盘,就非常危险,几乎都会出现这样问题。
因为iso中的gho文件是个高压缩的ghost文件,整个文件高达650m左右,如果以上等因素影响就会半途停止或第一次启动失败或系统个别文件丢失。
如果把iso解压缩出来或用d-tools分离出来,然后用ghost8.0恢复到c盘,速度和成功率都很高。
还有可能——很多人遇到可能是这种情况:原c盘磁盘有错误,需要扫描一下或整理一下。
gho文件解压缩出来也一样,最好使用DAEMON-TOOL之类的虚拟光驱,然后复制出来。还出错,那就再试一次。
总之,要尽量保证gho文件完整。
1.检查注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon里Shell的键值是不是explorer.exe, explorer.exe 如果是就改成explorer.exe。
2.检查开机启动项:
依次打开C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup检查此文件夹里是否有 “显示桌面” 的文件 如果有请删除。
3.检查计划任务库:
按WINDOWS键+X 选择 计算机处理,然后依次打开 系统工具>任务计划程序>任务计划程序库。
查看 触发器项 是否有 “在任何用户登录时 ” 如果有请删除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)