将.NET代码编译为一个EXE,将其他名称空间编译为DLL

时间:2011-08-15 22:16:26

标签: .net visual-studio-2010 dll service namespaces

我写了一个Windows服务。显然,Windows服务拥有自己的命名空间。我有3个其他名称空间,我已经编写了各自的类。

当我调试并构建解决方案时,它会将所有命名空间编译到可执行文件中。在Visual Studio中是否有一种方法可以显式地将命名空间编译成单独的DLL?在EXE中只有主要的启动命名空间?

提前致谢!

2 个答案:

答案 0 :(得分:3)

听起来你刚刚有一个项目。只需创建两个或多个项目 - 一个Windows服务项目和一个或多个类库项目。将服务的代码放在其项目中,其余的放在类库项目或项目中。无论您是为每个命名空间创建一个程序集还是将所有其他代码都集成到一个类库中,这取决于您。

答案 1 :(得分:3)

就编译器而言,命名空间和项目是无关的。那些与命名空间相对应的程序集名称纯粹是一种约定,而且往往没有遵循。

在.net中,一个可执行文件是一个程序集,通常是一个项目。因此,如果你想要dll为他们创建一个“类库”项目,并将相应的源代码放在其中。