從上InfoWorld的一個press release昨天關於新Microsoft Roslyn:微軟羅斯林與CodeDom中
這種「解構」的最明顯的優勢編譯器是 ,它使整個編譯過程執行要在.Net應用程序中從 調用。 Hejlsberg演示了一個C#程序, 將幾個代碼片段作爲字符串傳遞給C#編譯器;編譯器 將作爲結果的IL彙編代碼作爲對象返回,然後將其傳送到公共語言運行庫(CLR)以供執行。瞧!利用Roslyn,C#獲得了動態語言在運行時生成和調用代碼的能力。
我已經能夠做到這一點,因爲.NET 4與CSharpCodeProvider.CompileAssemblyFromSource
釋放我在書面前一段時間所做的正是這一個ASP.Net項目其實使用 - 允許用戶鍵入代碼到一個文本框,選擇要引用的程序集/名稱空間,然後執行並顯示該代碼的輸出以便在Windows Azure上進行實時環境代碼測試。
是CodeDom
Roslyn的前身的一部分? Roslyn優於CodeDom
有什麼特別的好處?
@Dustin:Roslyn會支持其他語言嗎? JavaScript(.NET),例如? – dbarros
@Dustin:這對於構建完整的IDE體驗來說非常完美,它可以強化我的組織中的代碼質量,儘管我沒有看到手動代碼審查的完全替代,但我看到質量顯着提高。不久! –
如果有人已經創建了一個基於Roslyn的工具來將使用CodeDom的代碼轉換爲使用Roslyn的SyntaxFactory的代碼,這將是非常棒的。(部分原因是.Net Core有Roslyn但沒有CodeDom,我使用的是一個lib CodeDom中) – Emyr