簡體   English   中英

.NET-NGEN編譯x86程序集

[英].NET - NGEN compile x86 assembly

這是此問題的后續措施:

帶有.NET可執行文件的NGEN x86與x64

我知道NGEN可以使用自定義設置操作,但是我使用的是Inno Setup,因此我必須手動進行操作。

問題:如果我的程序集是在x86模式下編譯的,我應該始終使用x86版本的ngen.exe,還是取決於操作系統(x86 Windows上為x86 ngen.exe,x64 Windows上為x64 ngen.exe)?

問題是我在安裝NGEN時遇到以下錯誤:

編譯程序集C:\\ Program Files \\ MyApp \\ MyApp.exe(CLR v4.0.30319)... 2012年1月15日15:05:28 [2432]:1>編譯C:\\ Program Files \\ MyApp \\ MyApp時出錯。 exe:此版本與您正在運行的Windows版本不兼容。 檢查計算機的系統信息以查看是否需要該程序的x86(32位)或x64(64位)版本,然后與軟件發行商聯系。 (來自HRESULT的異常:0x800700D8)

理想情況下,我想將主程序集(x86)及其所有依賴項(混合的x86和AnyCPU構建)編譯為本機代碼。

請指教。

我在IronScheme上的NSIS也遇到類似的問題。

  1. 在安裝程序中確定運行時(x86 / x64)
  2. 然后確定框架版本(2或4)。
  3. 根據上述2,運行適當的NGEN可執行文件

鏈接到NSIS腳本: https : //github.com/leppie/IronScheme/blob/master/IronScheme/ironscheme.nsi

當我嘗試在AnyCPU模式下用NGEN編譯MyApp.exe時,我遇到了同樣的問題。 然后我切換到x64模式,它起作用了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM