gpt4 book ai didi

.net - 如何快速更改生成和使用 NuGet 包的自定义库?

转载 作者:行者123 更新时间:2023-12-04 14:48:48 27 4
gpt4 key购买 nike

我的问题类似于this one .我有一个解决方案,A ,其中包含项目 BC :

A
|-B ---> B.nupkg
| ^
|-C ------|

过去,C使用项目引用 B .现在,我已经转换了 B以便它在我构建时生成一个 NuGet 包(<GeneratePackageOnBuild>true</GeneratePackageOnBuild> 中的 B.csproj),我在 C 中引用了它.我这样做是因为许多消费者只想要 B但不是 C .

所以现在如果我想更改 B并调试它,我必须执行以下操作:

  1. 构建解决方案
  2. 复制B.nupkg来自 bin\Debug到一个中心位置
  3. 再次重建解决方案(并可能清除我的 NuGet 缓存)
  4. 运行

过去,对于项目引用,我所要做的就是在更改 B 之后构建并运行我可以单步执行我新更改的代码。我如何回到之前使用项目引用的一键式流程?有没有办法在 Debug 模式下使用项目引用,在 Release 模式下使用 NuGet 包?

最佳答案

听起来项目 B 和 C 位于相同(或足够接近)的位置和解决方案 (A);在那种情况下,你就把它复杂化了。

在解决方案中,只需在 B 和 C 之间使用项目引用(在您需要的任何方向)。这绝对没问题,而且符合预期 - 您可以一起调试、构建 B 和 C 等,一切都会正常运行,而无需在开发期间复制任何内容。当您准备好为其他消费者(本地或通过 CI)进行部署时,只需将所有内容构建在一起,确保 B 和 C 都配置为生成 NuGet 包(听起来您已经这样做了),并同时将两个 NuGet 包上传/复制到您的 NuGet 商店。

在输出的 nupkg 文件中,项目引用将自动转换为 NuGet 包引用;你不需要做任何事情。

关于.net - 如何快速更改生成和使用 NuGet 包的自定义库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69453253/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com