2012-03-13 90 views
2

人們發現/用於向.NET/C#應用程序添加功能而無需重新編譯的方式有哪些?在沒有重新編譯的情況下向C#應用程序添加功能的方法

我想到的方法是尋找要讀取的文件,解析該文件,然後根據文件中包含的內容動態創建控件及其事件處理程序等。一個xml文件)。

或者會動態加載.DLL被認爲是「不重新編譯」?

任何想法/「戰爭故事」?

+0

也許,加載一個JavaScript文件並將其作爲瀏覽器的容器執行。 http://stackoverflow.com/questions/9668006/running-javascript-in-c-sharp-application-with-arguments-and-return/9669148#9669148 – 2012-03-13 17:18:16

+0

看到這個問題:http://stackoverflow.com/questions/ 835182 /選擇-之間-MEF-和-MAF-系統插件 – 2012-03-13 18:07:32

回答

2

對於相當簡單的情況下,具有明確的行爲:

定義一個接口,讓插件。 在dll中實現接口。 用Assembly.LoadFrom加載dll。

我會爲每個dll添加一個GUID,所以你可以告訴它們分開。

1

看看ASP.Net是如何實現的 - 您可以在網站運行時添加ASPX/ASPX.cs文件。簡短版本:ASP.Net監聽文件更改並將新文件編譯到新程序集中,而不是加載到現有AppDomain中以用於呈現新頁面。

相關問題