我在C#中有一个只引用System
程序集的类库项目;它编译得很好,但显然不能单独使用,因为它只是一个类库。
使用该库的项目具有更多引用的程序集。特别是,它们似乎都包含System.Core
和Microsoft.CSharp
等。所有项目现在都可以正常工作,但我不知道它是否有效,但是它是否正常工作,因为库所需的DLL是封闭项目的子集,或者因为.NET程序集在GAC中,并且在需要传递时可以神奇地找到它们。
假设一个hello world程序(即没有linq,没有xml,没有配置等),最小可接受参考集是什么?
图书馆项目是否也应明确引用System.Core
和Microsoft.CSharp
?这听起来非常重要。
=====
EDIT:
默认情况下,Visual Studio中的类库项目模板始终包含System.Core
和Microsoft.CSharp
,即使删除它们似乎总是正常。这就是我想知道它们是否被隐含引用的原因。
答案 0 :(得分:2)
对于仅限于基本输入和输出操作的小型控制台应用程序,您需要的最小库是mscorlib.dll
(并且必须具有参考)。基本IO操作&螺纹。
除此之外,mscorlib.dll还有.Net Framework最基本的东西(实现)。您应该使用Reflector
或dotPeek
等应用程序查看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