nuget中多个解决方案的开发过程

Development process with multiple solutions in nuget

我想创建一个包含多个解决方案的存储库,每个解决方案都将发布到本地 nuget 服务器。

但是当我想编辑解决方案 A 并使用另一个解决方案 B 对其进行测试时,我不明白如何进行开发过程,该解决方案 B 通过 nuget 包引用解决方案 A,而无需在每次构建后在 nuget 服务器上发布解决方案 A?如果我在解决方案 B 中引用项目,它将带来正确的依赖关系,我不想要它。

要清楚,例如:我想在解决方案 B 中添加一些功能,为此我需要更改解决方案 A。解决方案 B 具有对解决方案 A 的 nuget 引用。如果我更改解决方案 A,我必须将它发布到 nuget 服务器,然后等到 nuget 服务器更新,然后才能用解决方案 B 对其进行测试,这对我来说看起来很糟糕。

并回答我为什么需要它的问题: 我们正在构建微服务,并决定在单独的解决方案中开发每个微服务,并在他们的独立解决方案中开发每个共享库。所有这些都在一个存储库中:-)

Development process with multiple solutions in nuget

NuGet作为微软开发平台的包管理器有很多优点,但这并不意味着它没有缺陷。就像你遇到的,如果引用的项目经常修改,我们必须重新构建它,创建 nuget 包,发布到 nuget 服务器,等待 nuget 服务器更新每次修改。那会带来很多无聊的工作。要解决这个缺点,Project-to-project references 应该是更好的方法。所以应该推荐Sam和Ieemac的建议。

项目到项目引用的优点是它在构建系统中的项目之间创建了依赖关系。如果依赖项目自上次构建引用项目后发生更改,则将构建它。文件引用不会创建构建依赖项,因此可以在不构建依赖项目的情况下构建引用项目。

所以最好的解决方案就是当引用的项目经常修改时,推荐使用project-to-project reference,分享reference project时nuget reference更合适给他人或发表。就像NuGet Reference Switcher做的那样。