ngen

    4熱度

    2回答

    我們的應用程序有很多.NET程序集,到目前爲止,還沒有用NGen腳本部署,所以它們總是在運行時被打亂。 由於我們的應用程序通常部署到終端服務器,所以讓Windows共享代碼的二進制圖像可能比現在的方式更優化,所以我正在設置基地址併爲組件編制代碼。所以我在沒有NGen的情況下運行了這個程序,並且使用[SysInternals的listdlls] [1]來查找每個的大小,然後我增加到下一個大小的類(即

    3熱度

    1回答

    我正在使用Wix/Votive爲我的.NET解決方案構建安裝程序。我使用項目引用(其內部使用heat.exe我認爲)包含來自其他項目(EXE和DLL)的二進制文件。 我現在想要做的是在安裝過程中預先使用ngen.exe來安裝所有程序集。按照維克斯幫助,這可以通要做的WiX .NET extensions library: <Component Id="App.exe" Guid="PUT-GUID

    4熱度

    3回答

    我正在使用NSIS來部署.Net應用程序。安裝/卸載過程正常,但我想添加一個最終的ngen步驟來提高啓動性能。 不幸的是,谷歌沒有透露任何相關材料。以前沒有人做過這種事 - 這裏也許有人有一些想法? 在不太可能的情況下,這是不可能的,沒有醜陋的黑客支持,我會願意使用不同的安裝技術提供它可以在我的Linux生成服務器上運行。 (例如,這排除了WiX。) 任何想法?

    3熱度

    3回答

    我讀到的CLR維基百科文章以下段落: 或者,CIL代碼可以 在單獨 步驟通過使用 機映像生成器在運行時之前編譯爲本機代碼(NGEN) 。此 加快了 軟件的所有後期運行,因爲CIL到原生 編譯不再是必需的。 這是否意味着我可以將任何.NET程序編譯爲一個二進制文件,然後就可以在沒有安裝.NET框架的機器上運行?

    2熱度

    1回答

    我有一個ASP.NET應用程序,頁面數量很少。我看到的問題是啓動時間很慢。據我所知,大部分時間都花在JIT上。預編譯應用程序似乎對減少通過PerfMon報告的#methods JIT沒有太大幫助。有人知道我能做些什麼來進一步縮短啓動時間嗎? 確實,沒有辦法使用NGEN預先處理ASP.NET應用程序?

    2熱度

    1回答

    我已經安裝了.NET 4.0框架,並且需要從3.5版本開始生成一個dll的本地映像,而無需進行優化,所以我可以更輕鬆地進行調試。 我已經嘗試了幾種不同的方法: 將我的C:\ Program Files文件(x86)的\參考大會\微軟\框架\ 3.0 創建系統.Workflow.Activities.ini用: ngen.exe卸載System.Core.dll [.NET框架調試控制] 屬teTr

    8熱度

    3回答

    如何在運行時無需Loader驗證程序集簽名或者甚至使用GAC'ed程序集來確定是否正在使用本機圖像? 我有一個複雜的系統,我們正在試驗NGen,但是現在我們正在從所有DLL所在的文件夾運行exe文件,這是因爲很多後期綁定依賴關係,看着Process Explorer,它看起來像本機圖像正在使用,但我怎麼能確定我獲得了全部的好處並消除了加載程序驗證步驟? 乾杯, 格雷姆。 更新: 我得到很多這種從集

    2熱度

    1回答

    我對.NET 3.5和Visual Studio 2008 建一個類庫項目如果我嘗試NGEN的核心組件,該解決方案文件,NGEN無法完成,或者至少不會在一次我打擾讓它運行(像過夜一樣)。 有沒有其他人經歷過這個?如果是這樣,你解決了嗎?如果你有,如何?你採取了哪些步驟? 如果這是NGEN中的錯誤,我該如何將此信息發送給Microsoft?我有一個連接帳戶,但我在哪裏發佈這個特定產品的錯誤報告,而不

    2熱度

    1回答

    NGEN + AppDomain問題在這裏。 我正在處理一些應用程序更改,這些應用程序更改圍繞使本機圖像正確加載以防止在我的.net應用程序中出現可怕的JIT時間。有些部分很容易,但是任何必須在appdomains中加載的程序集(我們的應用程序必須使用的各種原因)只會在第一次加載它們的本地映像,並且在後續加載時(在現在是新的appdomain中)圖像被拒絕併發生JIT。 我知道所有關於域中立加載的

    30熱度

    5回答

    因此,當CLR運行時加載一個.NET程序集時,它會將其編譯到機器本機代碼中。這個過程被稱爲JITing。 NGen也是將.NET程序集編譯爲本地代碼的過程。我不明白兩者有什麼區別?