两个c#项目共享代码

本文关键字:代码 共享 项目 两个 | 更新日期: 2023-09-27 17:50:44

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

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

  • 这是一个好选择吗?
  • 哪个项目应该包含这些类?
  • 当你创建一个可执行文件时,在幕后发生了什么?

两个c#项目共享代码

一般情况下,您将创建一个项目结构如下:

  • 。。DataModel
  • 。。Gui
  • 。。WindowsService

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

当你编译成EXE时,你会在同一个目录下有dll,其中一个将是myproject . datmodel .dll。EXE将在运行时加载DLL,以便提供对这些类的访问。

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

为什么把一个项目添加到另一个项目中作为参考是不好的?GUI可能不需要整个Windows服务项目来运行。反之亦然。Windows服务不需要GUI。