c#console应用程序也可以充当类库吗?

时间:2011-08-02 11:49:13

标签: c# .net

通常这样做是没有意义的。

那就是说,c#console应用程序也可以作为类库吗?

4 个答案:

答案 0 :(得分:6)

是的,它可以。只要它有公共类型或[assembly:InternalsVisibleTo(...)]

在VS2005中,IDE不愿意允许您引用exe,但现在不再是这种情况了。只需添加引用并指定exe(或项目)。

归根结底,它只是一个集会; PE头/加载器是最小的,并且对文件没有重要意义,因此它作为exe的事实几乎是不相关的。

请注意,将exe用作库时,不会调用Main()(入口点)。

答案 1 :(得分:3)

确实如此,只是在另一个项目中引用它。

答案 2 :(得分:2)

是的,可以引用控制台应用程序并使用其中的公共类。然而,虽然技术上是功能性的,但它不被认为是最佳实践。

更好的解决方案是拥有以下内容:

  • MyClassLibrary.dll

引用者:

  • MyConsoleApp.exe
  • MyOtherConsoleApp.exe
  • MyOtherClassLibrary.exe

答案 3 :(得分:2)

答案简短:是的。唯一的区别是控制台应用程序有一个入口点(Main方法),可以单独执行。