2010-03-17 117 views
151

此DLL在默認情況下添加到Visual Studio 2010項目中。這個新組件用於什麼?在使用Reflector查看它之後,它似乎並沒有太多含義,谷歌似乎也沒有太多的話要說。什麼是.NET 4.0中的Microsoft.csharp.dll

回答

174

當/如果您在項目中使用dynamic keyword時,會使用它。該程序集包含C#運行庫。

C#編譯器基本上已經被提取到一個庫中,以便它可以發出,編譯和運行支持dynamic關鍵字所需的代碼。第一次在代碼中使用dynamic時,此程序集(以及System.dll,System.Core.dll和System.Dynamic.dll)將加載到您的AppDomain中。

+2

您是否願意推測他們爲什麼默認選擇引用它?我們是否應該比現在更多使用「動態」(即從未)? – 2013-02-28 14:55:15

+4

@mo這與他們如何自動添加'使用System.Linq;'到所有文件類似。它只是讓更新的語言功能更加無縫。如果你想使用'動態',它只是毫不費力地工作。 – 2013-09-05 21:44:44

12

到目前爲止一直刪除它。還沒有問題。

+13

如果您的項目不使用動態關鍵字,我想可以刪除.csproj文件中的「行。 – Cheeso 2011-04-23 17:34:54

+0

感謝TomTom和@Cheeso。我試圖建立一個.dll(框架設置爲3.5)與Unity一起使用,並從.csproj文件中刪除它。 – Wolfram 2015-05-20 13:45:39

+0

這個「答案」更適合作爲問題下方的評論。雖然它提出了一種解決方法,但它並沒有真正回答新組件的用途。 – toonice 2017-11-17 10:13:50

相關問題