是否可以将 nuget 打包库也作为可编辑项目存在?

Is it possible to have a nuget packaged library exist also as an editable project?

提问人:J Collins 提问时间:7/26/2023 更新时间:7/26/2023 访问量:20

问:

在管理我的开发项目时,从历史上看,我会将我的解决方案分解为模块化项目,每个项目都可以由多个解决方案使用。这使得模块化项目“库”可以与主程序并行开发。

在实践中,这很困难,因为将现有项目添加到许多解决方案意味着返回任何解决方案几乎总是需要更新代码,因为“库”在此期间可能会发生变化。

使用 git 子模块是一种帮助,因为每个解决方案在开发周期中都可以有自己的代码库。最终的用途是为每个使用它的解决方案提供一个单独的子模块分支,其中更新可以更优雅地合并到其他程序中。

子模块的 Nuget 包似乎是处理子模块版本控制的一大步,但它剥夺了直接开发子模块与消费解决方案的能力,这大大减慢了开发速度 - 子模块的每次更新都需要新的构建、重新打包并重新安装到使用者中。

是否有更好的解决方案来利用 nuget 打包的优势,同时能够相互结合开发解决方案和子模块,例如在解决方案中拥有摘要的代码,但保留 nuget 引用?

.NET Visual-Studio NuGet Git-Submodules 项目和解决方案

评论

0赞 Bowman Zhu-MSFT 7/28/2023
如果可能的话,您能澄清一下您的要求吗?您提到“解决方案几乎总是需要更新代码,因为在此期间'库'可能会发生变化。但是,兼容性不是您应该考虑的事情吗?
0赞 J Collins 8/2/2023
对我来说,图书馆开发经历了一个接近指数衰减的发展速度,在项目早期,图书馆的变化速度几乎与核心项目一样快。过了一会儿,图书馆开始稳定下来。在项目的早期,库源运行良好,但在项目后期,库最好表示为 nuget 可分发。是否有可能同时进行项目引用,也许使用“越新越好”或在两者之间手动切换。

答: 暂无答案