rit*_*gig 4 nuget nuget-package nuspec proget
我知道,您不应该更改 NuGet 包的包 ID。但我做到了,因为进行了一次大的重构。
现在我想知道是否有适当的方法来定义后继 NuGet 包。
Nuspec 中的旧 ID:OldLibrary1
Nuspec/csproj 文件中的新 ID:Library1
如果用户打开 Visual Studio 解决方案的 NuGet 包管理窗口并安装了旧包 (ID OldLibrary1-1.0.0),他应该会看到包的更新/升级Library1-2.0.0。
有没有可能以某种方式定义它?
顺便说一下,我使用 ProGet 作为 NuGet 服务器。
NuGet 最近在它的 HTTP 协议中添加了弃用信息,但是,据我所知,只有 nuget.org 实现了它(它很新,NuGet 5.3,Visual Studio 16.3)。如果您的私有 nuget 服务器 (Proget) 尚未实现它,您可以尝试联系开发人员并要求他们实现它。
否则,我听说过的最佳选择是创建旧库的新版本,不要在其中包含任何程序集,只需对新包 ID 具有 NuGet 依赖项。
问题在于,如果您的包使用者正在使用PackageReference,Visual Studio 的升级体验还不是很好,因为当您发布新包的新版本时,将其作为旧包的传递依赖项获取的人将不会收到通知关于可用升级。解决此问题的一个选项是包含一个 MSBuild 目标文件,该文件在每次构建时显示构建警告,告诉他们安装新包并卸载旧包。忽略警告的人不会看到它,所以如果你想变得极端,那就让它成为一个错误,但它有助于传达信息。
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |