如何将一个空项目编译为dll?

时间:2012-02-20 09:38:22

标签: c# visual-studio-2010

我创建了一个新的VS“空”项目,并在其中创建了一个类。我决定尝试将其作为库,进入属性并将输出类型设置为类库。它编译成一个DLL,但是当我将它添加为另一个项目的引用时,输入“using ...”并没有我的新库。如果我创建一个新的库项目,在那里通过我的类,将其编译成一个DLL,然后它工作正常。所以我想知道的是,我需要在一个空白项目中更改哪些设置才能使其充当dll?

1 个答案:

答案 0 :(得分:5)

using指令是关于命名空间,而不是程序集

如果你的库是空的,它没有对命名空间做任何贡献,所以using指令找不到任何东西。

了解命名空间和程序集之间的区别非常重要 - 您可以拥有仅包含Foo.dll的库Bar.Xyz。您可以在项目中将引用添加到Foo.dll,但是Bar的使用指令。

作为一个更具体的示例,Enumerable命名空间中的System.Linq类来自System.Core.dll - 但您仍然为using添加System.Linq指令,不是System.Core。实际上,如果您尝试为using添加System.Core指令,则会收到错误 - 因为该命名空间不存在。 (如果没有成员,则名称空间实际上不存在。)