人們發現/用於向.NET/C#應用程序添加功能而無需重新編譯的方式有哪些?在沒有重新編譯的情況下向C#應用程序添加功能的方法
我想到的方法是尋找要讀取的文件,解析該文件,然後根據文件中包含的內容動態創建控件及其事件處理程序等。一個xml文件)。
或者會動態加載.DLL被認爲是「不重新編譯」?
任何想法/「戰爭故事」?
人們發現/用於向.NET/C#應用程序添加功能而無需重新編譯的方式有哪些?在沒有重新編譯的情況下向C#應用程序添加功能的方法
我想到的方法是尋找要讀取的文件,解析該文件,然後根據文件中包含的內容動態創建控件及其事件處理程序等。一個xml文件)。
或者會動態加載.DLL被認爲是「不重新編譯」?
任何想法/「戰爭故事」?
所有你需要的 - MEF - Managed Extensibility Framework
對於相當簡單的情況下,具有明確的行爲:
定義一個接口,讓插件。 在dll中實現接口。 用Assembly.LoadFrom加載dll。
我會爲每個dll添加一個GUID,所以你可以告訴它們分開。
看看ASP.Net是如何實現的 - 您可以在網站運行時添加ASPX/ASPX.cs文件。簡短版本:ASP.Net監聽文件更改並將新文件編譯到新程序集中,而不是加載到現有AppDomain中以用於呈現新頁面。
也許,加載一個JavaScript文件並將其作爲瀏覽器的容器執行。 http://stackoverflow.com/questions/9668006/running-javascript-in-c-sharp-application-with-arguments-and-return/9669148#9669148 – 2012-03-13 17:18:16
看到這個問題:http://stackoverflow.com/questions/ 835182 /選擇-之間-MEF-和-MAF-系統插件 – 2012-03-13 18:07:32