默认情况下导入到C#应用程序的DLL

时间:2012-09-02 03:43:28

标签: c# linker default

我找不到任何相关信息。是否有人列出了默认情况下与C#可执行文件链接的所有C#DLL(例如System.Core.dll)?

我正在使用csc.exe编译C#代码。

1 个答案:

答案 0 :(得分:3)

绝对最低"导入的dll"任何C#(最终是.NET)程序都是mscorlib.dll。这总是被隐式引用。它包含BCL(基类库)中所需的绝对最小类型,并且是所有语言下所有.NET程序所必需的。

如果您想知道Visual Studio中默认引用了哪些程序集,则它取决于您要定位的项目,编程语言和框架版本。这些附加程序集通常提供额外的语言支持,而其他功能不属于BCL,但通常可用(如LINQ)。

以.NET 4.0为目标的C#控制台应用程序默认情况下引用这些程序集(在VS2010中):

Microsoft.CSharp              (.NET 4.0 and up) (dynamic support)
System                        (all versions)    (everything else in the BCL)
System.Core                   (.NET 3.5 and up) (LINQ and other enhancements)
System.Data                   (all versions)    (ADO.NET)
System.Data.DataSetExtensions (.NET 3.5 and up) (LINQ extensions for ADO.NET)
System.Xml                    (all versions)    (XML)
System.Xml.Linq               (.NET 3.5 and up) (LINQ extensions for XML)

如果您正在计划编写基本的控制台应用程序,那么您可能只需要SystemSystem.Core。如果您特别需要使用XML或需要创建数据集,请引用相应的程序集。