C#项目最小参考集

时间:2013-05-15 11:01:50

标签: c# project

我在C#中有一个只引用System程序集的类库项目;它编译得很好,但显然不能单独使用,因为它只是一个类库。

使用该库的项目具有更多引用的程序集。特别是,它们似乎都包含System.CoreMicrosoft.CSharp等。所有项目现在都可以正常工作,但我不知道它是否有效,但是它是否正常工作,因为库所需的DLL是封闭项目的子集,或者因为.NET程序集在GAC中,并且在需要传递时可以神奇地找到它们。

假设一个hello world程序(即没有linq,没有xml,没有配置等),最小可接受参考集是什么?

图书馆项目是否也应明确引用System.CoreMicrosoft.CSharp?这听起来非常重要。

=====

EDIT:默认情况下,Visual Studio中的类库项目模板始终包含System.CoreMicrosoft.CSharp,即使删除它们似乎总是正常。这就是我想知道它们是否被隐含引用的原因。

2 个答案:

答案 0 :(得分:2)

对于仅限于基本输入和输出操作的小型控制台应用程序,您需要的最小库是mscorlib.dll(并且必须具有参考)。基本IO操作&螺纹。

除此之外,mscorlib.dll还有.Net Framework最基本的东西(实现)。您应该使用ReflectordotPeek等应用程序查看mscorlib.dll。

答案 1 :(得分:2)

  

假设一个hello world程序

,最小可接受参考集是什么

这一个:

// HelloWorld.cs
namespace HelloWorld
{
    class Program
    {
        static void Main()
        {
            System.Console.WriteLine("Hello, world!");
        }
    }
}

仅取决于mscorlib。用这种方式编译:

  

csc.exe HelloWorld.cs