问题描述
我有一个标题中描述的问题。
更多详细信息:我正在研究 set of Blazor Components。它有许多项目,每个项目都打包并发布为 Nuget packages。但是当然所有项目都依赖于一些 AspNetCore
Nuget 包。当前使用 .NET 5 Version="5.0.0" 包。但最近微软发布了Version="5.0.3"。
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="5.0.0" />
所以问题是开发和分发我的(第三)方 Blazor Nuget 软件包的推荐方式是什么?
- a) 保持依赖的 MS 框架包版本尽可能低?因此它适用于面向较低版本的项目,并且可能适用于/或不适用于使用最新官方 MS
AspNetCore
软件包的项目, - b) 或者总是更新到最新的
AspNetCore
软件包以获得所有错误和安全修复?但是在这种情况下,谁想要使用我的软件包可能也需要将他们的项目更新到最新版本?他们可能不想这样做。
我认为这个问题不仅与 Blazor Nuget 包有关。但是所有使用其他 Microsoft Nuget 软件包的第 3 方 Nuget 软件包
解决方法
我认为您的 NuGet 包应该有不同的版本,每个版本都针对不同版本的框架(和不同的包版本)。通过这种方式,您可以提供向后兼容性和集成最新功能的选项。
至少我认为这是让您的解决方案可供更多开发者和解决方案使用的最佳方式。