回答
這篇文章可能幫你。
@Msingh我會編輯它,因爲我發現有意義的信息。 – rahularyansharma
感謝rahul的幫助,但我不需要它的安裝程序包,我想在我的dll應該加載之前運行一段代碼。 –
我從你的意見,你沒有創建MSI安裝程序看,所以一般你需要一些自定義代碼時加載的程序集運行。 爲此,您可以使用AppDomain.AssemblyLoad事件。
class AssemblyLoadTest {
public static void Main()
{
// subscribe to event
AppDomain.CurrentDomain.AssemblyLoad += new
AssemblyLoadEventHandler(MyAssemblyLoadEventHandler);
// continue working
}
// will fire once an assembly is loaded
static void MyAssemblyLoadEventHandler(object sender, AssemblyLoadEventArgs args)
{
// your custom code here
// you can check loaded assembly from args.LoadedAssembly.FullName
....
}
}
是的,這正是我需要的,但問題是我沒有在我的啓動項目中的dll的引用,但從其他dll引用它,像這樣的MainUI有BLL的參考和進一步的BLL有DAL的參考,我想寫DAL的啓動代碼,所以我需要一些appdomain_load事件爲我的BLL。謝謝 –
@MSingh我看到沒有問題,至少你可以識別你的程序集加載到你已經訂閱了該事件的某個AppDomain中,一旦發生事件,你可以通知其他感興趣的人。 – Incognito
我認爲這取決於你的架構:
你可以有不同的Starter.exe這首先運行bootstrup東西,加載後您的應用程序。 (這是美好的事業一次bootstrup東西好後會樹memeory,因爲它使將由OS殺死其他進程的一部分)
您可以嘗試訂閱AssemblyLoad甚至你的DLL的AppDomain,並試圖在那裏做什麼你要。
Tigran jan,如果我理解正確的問題,單獨的過程會有點棘手,因爲他需要「init」代碼在加載dll時運行,而不是在特定應用程序啓動時運行。應用程序啓動並不意味着該程序集在該應用程序的AppDomain中被加載,因此最好使用AssemblyLoad事件。 – Incognito
- 1. 什麼是PREMERGED dll in .net
- 2. 什麼是.NET中的「AxSHDocVw」?
- 3. 什麼是dll?
- 4. 什麼是Microsoft.Web.Services2.dll
- 5. 什麼是.net中的AutoClass?
- 6. 什麼是.NET中的WCF?
- 7. 什麼是bootstrap cdn?
- 8. 什麼是bootstrap/html5?
- 9. 什麼是.NET 4.0中的Microsoft.csharp.dll
- 10. 什麼是DLL的VERSIONINFO.InternalName?
- 11. .NET 4.0中.NET 2.0的Microsoft.Web.Service3的程序集是什麼?
- 12. 什麼是.NET最好的DLL-Base數據庫?
- 13. 爲什麼.NET框架會鎖定dll?
- 14. 爲什麼.NET不能找到OpenSSL.NET DLL?
- 15. C#中System.load(dll)的實現是什麼?
- 16. DLL中函數的名稱是什麼?
- 17. 什麼是ApplicationException在.NET中?
- 18. Bootstrap中.row的用途是什麼?
- 19. Bootstrap中行類的用法是什麼?
- 20. 什麼是第三方DLL?
- 21. 什麼是dll劫持?
- 22. 這是什麼oleaut32.dll?
- 23. 什麼是原生DLL?
- 24. 什麼是.Net RxTx
- 25. .NET:什麼是WPF?
- 26. 什麼是npm我bootstrap @ next?
- 27. 什麼是bootstrap/less/html5?
- 28. 什麼是使用.EXP的,是什麼樣的.lib和.dll
- 29. 什麼是.NET中的Date.UTC的模擬
- 30. 什麼是.NET架構和什麼是.NET框架?
稍微更多的上下文將有所幫助 –
在我的應用程序中,我想加載一些東西或想在我的dll的其他任何東西之前運行一段代碼。建議僅通過自舉實現。但我完全不知道這一點,任何初學者鏈接引導將是有益的。請注意我不需要這個東西來創建一些安裝包。 –
@MSingh請重新說明問題,以便更清楚地說明預期的內容。 – Incognito