将x86 asp.net项目转换为x64出错

本文关键字:x64 出错 转换 项目 x86 asp net | 更新日期: 2023-09-27 18:14:44

我有一个ASP。Net 4.5解决方案编译&当设置为ANYCPU时运行,但是我有一个需要更多内存的方法,并且这个项目将在x64环境中运行,所以我认为重新编译并解决问题。错了。成功构建后,当尝试调试应用程序时,我得到这个错误:

Exception Details: System.BadImageFormatException: Could not load file or assembly 'Core' or one of its dependencies. An attempt was made to load a program with an incorrect format.
到目前为止,我已经仔细检查了我的解决方案配置属性和所有的项目属性,一切都是一致的x64。

还有什么可能阻碍转换?也许只有32位的参考?

**我已经将我的应用程序发布到目标平台为ANYCPU的64位web服务器上。私有内存限制大约是6gb。在运行内存密集型方法(通过ClosedXML库导出到excel)时,应用程序使用的内存峰值@ 2.7gb并被刷新,然后引发OutOfMemory错误。似乎应用程序仍然在32位模式下运行?

***修正:我停止抛出的OutOfMemory异常添加到事件后构建选项:

call "$(DevEnvDir)..'..'vc'vcvarsall.bat" x86
"$(DevEnvDir)..'..'vc'bin'EditBin.exe" "$(TargetPath)"  /LARGEADDRESSAWARE

将x86 asp.net项目转换为x64出错

AnyCPU意味着您的应用程序将在64位IIS上作为64位进程运行,在32位Cassini开发服务器上作为32位进程运行。您将无法在32位的卡西尼上运行为x64编译的应用程序。

底线是:您可以使用AnyCPU目标,并且您将获得x64环境的好处。