2012-10-25 161 views
1

我想讓WPF應用程序在啓動屏幕後加載我的應用邏輯程序集,就像帶進度條的NetBeans IDE一樣。據我所知,我的應用程序很小,在它裏面沒有SENCE,但我希望做這樣的事情,如果它可以在.NET做.NET程序集加載

+3

爲什麼你想讓你的應用程序煩人你的用戶?如果您的應用程序需要30秒才能加載,則啓動屏幕是適當的。但是,如果您的應用程序可以立即啓動,何時任意延遲?這是非常糟糕的用戶體驗。這就是說,你試過谷歌搜索嗎? – JDB

+0

對於我來說,這個問題對於我來說主要是需要的功能。除了我認爲我解決它,我得到了進度條的啓動畫面。所以我可以看到我的應用程序邏輯程序集在啓動時加載到應用程序中。是的,它只需要不到一秒的時間。在昨天之前,我甚至無法想象如何去做。而且我認爲我保留了我的應用程序的啓動畫面,因爲我認爲這會讓我的用戶體驗更好 –

回答

0

要顯示首先加載進度信息的程序集確定哪些程序集當前未加載。所以我們需要知道將被加載到AppDomain的程序集的完整列表(來自引用程序集),並將它們與已加載的程序集進行比較。

AppDomain.CurrentDomain.GetAssemblies() 

比我們可以強制加載錯過的程序集並顯示進度信息。

foreach (AssemblyName assembly in assembliesToLoad) 
{ 
    ShowAssemblyLoadingInformation(assembly); 

    AppDomain.CurrentDomain.Load(assembly); 

    ReportProgress(); 
}