【发布时间】:2023-03-07 17:09:01
【问题描述】:
我遇到了一些麻烦。我不知道在这种情况下什么问题标题是合适的,如果您有更好的想法,请随时编辑它。
所以,基本上现在的情况是这样的:
目前我有四个项目(不是实名,但架构相同):
-
Client(主客户端逻辑) -
Server.Main(主服务器逻辑) -
Server.Extensions(服务器的某些功能,例如助手等可以独立使用,不应依赖 Server.Main 中的某些内容) -
Shared(客户端和服务器之间共享代码)
对于每个项目,我都会创建一个 Nuget-Package 并将其上传到我的在线存储库。此存储库目前是私有的,仅用于开发目的。
这里总结一下,什么项目用什么Nuget-packages:
-
Client使用Shared的 Nuget 包。 -
Server.Main使用Shared和Server Extensions的 Nuget 包。 -
Server.Extensions使用Shared的 Nuget 包。
目前这对我来说很好...我可以轻松地更新我的存储库以进行测试并使用我的包的最新更新版本。
但问题来了:
我现在想与其他人分享我的项目(例如 GitHub 社区)。但是当他们拿到项目后,他们无法访问我的私有存储库,并且 nuget 包管理器将找不到这些包。
此外,我的架构还有另一个问题:他们何时修复某些问题,例如在Shared 中,他们将无法测试更改,因为Client 和Server 将始终使用存储库中的Nuget 包,而不是固定/更改的本地代码。
我考虑过在所有其他三个项目中直接引用Shared 项目。这是否意味着,每当我更新 Shared 时,我也会更新所有其他三个项目?
我认为,我的整个 Nuget 架构是错误的。但我不知道如何正确/以更好的方式做到这一点。有人对我有更好的方法吗?
【问题讨论】:
标签: c# reference nuget nuget-package