2011-03-16 61 views
1

我想了解是否有.net中的任何庫來編寫c#腳本。讓我更詳細地描述你,例如我有一個應用程序。當我運行它時,會打開一個c#編輯器,最終用戶將編寫一些c#代碼,當單擊運行時,應該評估此代碼,並在解釋我的運行時c#代碼將運行後創建dom。這是我的想法的簡要描述...在運行時使用c#像腳本

回答

1

你在尋找一個測試臺排序?我爲此使用LinqPad

它主要是Linq查詢的測試平臺,但我發現它對於C#語句和小程序等非常有用。

2

基本上,你想使用類似CSharpCodeProvider的東西。 MVC中的Razor視圖引擎基本上使用它來將代碼編譯成可執行文件來運行。如果你希望你的用戶能夠編寫代碼然後解釋它,你可以從這裏開始。但請注意,這是一項難以置信的複雜且時間密集的專長,另外,動態鏈接和執行外部代碼是一個安全噩夢。只要安全。

4

我把一個叫SimpleDevelop的小應用放在一起,它使用CSharpCodeProvider來做你所描述的。我的理解是,這個(CodeDom)已被棄用,並且一般不鼓勵;然而,它對於簡單的場景似乎工作得很好。

+0

我覺得內置的C#編譯器已被棄用的只有特定的部分,因爲有新的更好的方法。 – CodesInChaos 2011-03-16 21:50:10

+0

我檢查simpleDevelopment源代碼,但它不是我想要的確切的東西。我的意思是應該有關鍵字作爲C#和作爲C#的作品,但這個庫應該給任務做什麼,所以它可以用來添加新的關鍵字。腳本不應該是類型安全的我的意思是ac#腳本類似於javascript – 2011-03-17 07:11:31

+0

我的主要觀點是,當用戶定義很多變量時,我想要到達他們想要的地方,我的觀點不是隻編譯運行時C#代碼並創建程序集。 – 2011-03-18 07:45:52

0

您可以使用Compiler命名空間並在運行時編譯代碼。看看here瞭解如何做到這一點。