两个c#项目共享代码
本文关键字:代码 共享 项目 两个 | 更新日期: 2023-09-27 17:50:44
我有一个GUI和一个需要共享model
(POCO类)的Windows服务。我怎么做呢?
我实际上看到了将一个项目添加到另一个项目作为参考的选项,因此,所有public
类都可以共享。
- 这是一个好选择吗?
- 哪个项目应该包含这些类?
- 当你创建一个可执行文件时,在幕后发生了什么?
一般情况下,您将创建一个项目结构如下:
- 。。DataModel
- 。。Gui
- 。。WindowsService
GUI和WindowsService都可以有对DataModel项目的引用,在这种情况下,对DataModel的更改在编译时立即被两者拾取。
当你编译成EXE时,你会在同一个目录下有dll,其中一个将是myproject . datmodel .dll。EXE将在运行时加载DLL,以便提供对这些类的访问。
如果两个项目共享相同的代码,那么最好使用共享的代码引用第三个项目。所以基本上用你的poco创建一个新项目Model。
为什么把一个项目添加到另一个项目中作为参考是不好的?GUI可能不需要整个Windows服务项目来运行。反之亦然。Windows服务不需要GUI。