c# - 如何在 ASP.NET 项目中为 project.assets.json 中的依赖项强制执行最低版本?
问题描述
在我的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。
推荐阅读
- c# - 如何在 WPF 应用程序中将 DataGrid 导出为 XML?
- google-sheets - 使用 Google Sheets API v4 执行结构化查询时收到“无效 JSON 有效负载错误”
- c++ - 错误:重新定义函数模板(或 C2995)
- symfony4 - 在 redirectToRoute() 之后 Symfony 4 闪烁消息不起作用
- cloudera - 尝试在配置单元中创建表 tweetwords
- javascript - 用柏树在电子上没有定义要求
- python - 在终端中更改 Python 的路径
- java - JAXB 如何避免对象的重复/覆盖
- c# - 拥有多个实例和招摇
- node.js - 我使用 new Date() mongoose 和 nodejs 10 时的时间和日期错误