簡體   English   中英

C#WPF應用程序啟動非常慢

[英]C# WPF Very slow application launch

我寫了一個簡單的.net WPF應用程序(只包含2個小窗口),但它的發布速度太慢 - 大約10-20秒!

Profiler說:

  • Main->RunInternal (56%)
  • Main->RunInternal->ctor->LoadBaml (32%)

應用程序加載時間的最大部分 - 是Main->RunInternal函數的主體,這不是我的功能,我不知道它們是什么。 他們的執行時間能以某種方式優化嗎?

加載Baml標記需要32%的時間,但我的程序只有3個XAML文件,並且它們包含少於100行代碼。 為什么這個動作需要這么長時間?

在詢問我已閱讀並嘗試過這些技巧之前,他們並沒有幫助我:

那么,我怎樣才能加快申請的開始時間?

謝謝。

PS。 我在兩台類似的計算機上測試了這個程序,結果是一樣的。

看看上面評論中提到的文章。

我認為它是8,(Authenticode),它取決於你引用的程序集

我也有同樣的問題。 谷歌與RunInternal沒有任何關系。

然后我嘗試備份我以前的代碼並刪除程序集和文件,直到只剩下一個窗口。

然后它工作 - 啟動時間從10秒縮短到1秒!

這次,分析器只顯示System.Windows.Application.Run()而不是RunInternal

對於這台計算機來說,即使在重新導入錯誤(慢速)版本后,它也能正常工作,這一點非常奇怪! 而我的筆記本電腦沒有通過上面的修復仍然啟動程序10秒以上。

我的問題是項目本身位於網絡驅動器上。 因此,該應用程序必須完整往返於距離我的位置500英里的目標驅動器並返回,編譯所有內容 - 所以它肯定會花費所有時間。 我查看了其他問題,但這是我的情況。

在嘗試任何其他事情之前, 請確保您的項目位於本地

暫無
暫無

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

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