当前位置:首页 > 开发 > 编程语言 > C# > 正文

C#程序导入错误("ResGen.exe"已退出)

发表于: 2014-04-27   作者:中南大宝   来源:转载   浏览:
摘要:        在导一个源码到我的VS2010时,编译运行的时候报了"ResGen.exe"已退出,代码为2。这个问题碰到几次了,所以把它给贴一下,点击进入微软官方支持。简单翻译一下:   MSBuild4.0或VS2010在X64机器上编译基于.Net Framework3.5,3.0或者2.0的32位应用可能失败。 可能

       在导一个源码到我的VS2010时,编译运行的时候报了"ResGen.exe"已退出,代码为2。这个问题碰到几次了,所以把它给贴一下,点击进入微软官方支持。简单翻译一下:

 

MSBuild4.0或VS2010在X64机器上编译基于.Net Framework3.5,3.0或者2.0的32位应用可能失败。

可能得到以下的错误信息
Form1.resx(161,5):error RG0000: Could not load file or assembly '<file_name>' or one of its dependencies. An attempt was made to load a program with an incorrect format. Line 161, position 5.

 

输出框显示“生成失败”。      

Resgen.exe 引用自:
"<system_drive>:\Program Files (x86)\Microsoft SDKs\Windows\vx.x\bin\ResGen.exe"

 

原因:Resge.exe作为Windows SDK的一部分,被标记为MSIL(微软中间语言)因此它作为64位程序运行。它加载32位封装的程序时候会报错。

 

        解决办法:

        1. 关闭所有打开的Visual Studio。

        2. 在Visual Studio Tools 子目录,以管理员身份运行“Visual Studio 命令提示(2010)”。切换目录到

                “<系统驱动>:\Program Files (x86)\Microsoft SDKs\Windows\v<版本号>\bin\

        3. 执行命令:

                corflags /32bit+ ResGen.exe /force

        4. 用记事本打开<project_name>.csproj文件

        5. 添加以下属性到PropertyGroup下面:

                <ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture>

            关闭并保存csproj文件。

 

重新编译,一切OK!翻译参考自这里

 

 

C#程序导入错误("ResGen.exe"已退出)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
解决的办法如下: 1、关闭所有Visual Studio; 2、以管理员的身份打开命令提示窗口;(开始-运行-cmd
VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目
在正在退出事件中添加代码: private void Form1_FormClosing(object sender, FormClosingEventArgs
现象: 向eclipse里面导入已存在工程时,报如下错误: Description Resource Path Location Type Ta
VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目
VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目
C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHand
C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHand
1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目
一直纠结了我好几天的问题,就是这个看似很小的问题。在别人的机器上编译好好的Engine系统,在我这
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号