2014-07-24 34 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

相關問題