2014-07-24 40 views
0

我有一个ASP.Net 4.5解决方案,编译&运行时设置为ANYCPU,但我有一个方法,需要更多的内存,这个项目将生活在一个x64环境,所以我想通过重新编译和解决问题。错误。创建成功后,我尝试调试应用程序时出现此错误:错误将x86 asp.net项目转换为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位的参考?

**我已将我的应用程序发布到64位网络服务器,目标平台为ANYCPU。私人内存限制约为6GB。在运行内存密集型方法(通过ClosedXML库导出到excel)时,应用程序使用的内存达到@ 2.7gbs并被刷新,然后引发OutOfMemory错误。 看来应用程序仍在32位模式下运行?

***固定:我停下来加入这个在事后构建选项抛出内存溢出异常:

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

回答

2

AnyCPU意味着你的应用程序将运行在64位64位进程IIS以及32位Cassini dev服务器上的32位进程。您将无法在32位Cassini上运行针对x64编译的应用程序。

底线是:你用AnyCPU目标很好,你会得到x64环境的好处。

+0

我意识到我在这里听起来有多么无知,但我在学习,因为我去了。是一个32位的卡西尼环境== IISExpress? – JonBruce

+0

@JonBruce:不,Cassini是Visual Studio附带的开发服务器。 – empi

相关问题