2014-03-18 97 views
1

嗨我想找到執行代碼在運行時生成的方式,而無需重新啓動程序。運行期間:編寫,編譯和使用C#代碼?

我的當前工作流:

  1. 用戶使用我的程序來創建一些圖表
  2. 用戶按下compile和C#代碼是從用戶示
  3. C#代碼被放置在一個代碼文件生成其中存在於我的項目層次結構中。程序然後重新啓動以使用新生成的代碼。

我後來改變了第3步,所以我不必重新啓動程序。例如:

  1. C#代碼是通過生成DLL的C#編譯器運行的。
    • 任何錯誤被顯示給用戶然後
  2. 該DLL加載到程序
  3. 設置一些鏈接到代碼的方法,所以可將數據傳遞給它,並獲得輸出數據

如果這可行?

+0

您需要[CSharpCodeProvider](http://msdn.microsoft.com/en-us/library/vstudio/microsoft.csharp.csharpcodeprovider(v = vs.110).aspx)類。在幫助頁面上有一個相當不錯的例子,還有很多其他的例子可以在線獲得。 –

回答