两个C#项目共享代码

时间:2015-05-24 17:33:33

标签: c# .net

我有一个GUI和一个Windows服务需要共享model(POCO类)。 我该怎么做?

我实际上看到了将一个项目添加到另一个项目作为参考的选项,因此可以共享所有public个类。

  • 这是一个不错的选择吗?
  • 哪个项目应该包含这些类?
  • 制作可执行文件时幕后会发生什么?

2 个答案:

答案 0 :(得分:5)

通常,您将按如下方式创建项目结构:

  • MyProject.DataModel
  • MyProject.Gui
  • MyProject.WindowsService

GUI和WindowsService都可以引用DataModel项目,在这种情况下,两者都会在编译时立即获取对DataModel的更改。

当您编译为EXE时,您将在同一目录中拥有DLL,其中一个是MyProject.DataModel.dll。 EXE将在运行时加载该DLL,以便提供对这些类的访问。

答案 1 :(得分:2)

如果两个项目共享相同的代码,那么一件好事就是使用共享代码引用第三个项目。所以基本上创建一个新项目" Model"用你的poco's。

为什么将一个项目作为参考添加到另一个项目并不好? GUI可能不需要整个项目Windows服务来运行。反过来也是如此。 Windows服务不需要GUI。