如何在 ASP.NET 项目中为 project.assets.json 中的依赖项强制执行最低版本?
How to enforce a minimum version for dependencies in project.assets.json in ASP.NET project?
在我的 project.csproj
文件中,我有以下内容:
<PackageReference Include="System.Text.Encodings.Web" Version="5.0.1" />
但是,我的其他依赖项引入了较低版本的包作为它们的依赖项。例如,在我的 project.assets.json
中,我看到(拉取版本 4.5.0 的总共 18 个实例):
"Microsoft.AspNetCore.Http.Abstractions/2.2.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Features": "2.2.0",
"System.Text.Encodings.Web": "4.5.0" // <-- the problem
},
如何为这些依赖项强制执行最低版本?更具体地说,4.5.1 以上的任何版本都可以满足我的合规性需求。
我发现如果您添加 ProjectReference,实际上可能会解决问题。这是一个很好的阅读:
https://docs.microsoft.com/en-us/nuget/concepts/dependency-resolution
添加 ProjectReference 后,project.assets.json
仍然有 4.5.0 作为依赖项,但它只引入了 ProjectReference 版本,在本例中为 5.0.1。
在我的 project.csproj
文件中,我有以下内容:
<PackageReference Include="System.Text.Encodings.Web" Version="5.0.1" />
但是,我的其他依赖项引入了较低版本的包作为它们的依赖项。例如,在我的 project.assets.json
中,我看到(拉取版本 4.5.0 的总共 18 个实例):
"Microsoft.AspNetCore.Http.Abstractions/2.2.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Features": "2.2.0",
"System.Text.Encodings.Web": "4.5.0" // <-- the problem
},
如何为这些依赖项强制执行最低版本?更具体地说,4.5.1 以上的任何版本都可以满足我的合规性需求。
我发现如果您添加 ProjectReference,实际上可能会解决问题。这是一个很好的阅读:
https://docs.microsoft.com/en-us/nuget/concepts/dependency-resolution
添加 ProjectReference 后,project.assets.json
仍然有 4.5.0 作为依赖项,但它只引入了 ProjectReference 版本,在本例中为 5.0.1。