ASP.NET 核心配置错误的 Nuget 包依赖项 - 意外的包版本警告
ASP.NET Core misconfigured Nuget package dependency - Unexpected package version warnings
我有一个 asp.net 核心项目,几天前它运行良好。我在私人仓库的 github 上有它。昨天它在从 VS 安装更新后停止工作。我在网上搜索过 github,找不到任何解决方案。我收到的警告图片已附上。警告描述如下来自微软,
NU1603
Issue A package dependency specified a version that could not be found. A
higher version was used instead, which differs from what the package was
authored against.
This means that restore did not find the best match. Each restore will float
downwards trying to find a lower version that can be used. This means that
restore goes online to check all sources each time instead of using the
packages that already exist in the user package folder.
Common causes The package sources do not contain the expected lower bound
version. If the package expected has not been released then this may be a
package authoring error.
Example message NuGet.Packaging 4.0.0 depends on NuGet.Versioning (>= 4.0.0)
but 4.0.0 was not found. An approximate best match of 5.0.0 was resolved.
我不知道该如何解决?似乎没有解决方案,我什至重新安装了 VS,清除了 nuget 缓存,从全局文件夹中删除了包,但我的解决方案不起作用。
如有任何帮助,我们将不胜感激。
我猜你有 NuGet 4.3 和 VS 2017 15.3。
编码的 NuGet 警告和错误是 15.3 版本的一部分,它基本上是 NuGet.exe 4.3 版本。
基本上你有 2 个选项来解决这个问题:
- 通过手动更新
System.ComponentModel.TypeConverter
版本为 4.1.0 或更高版本的软件包来修复依赖关系树
使用 NoWarn
来 ignore/suppress 此警告,如 described here,通过如下编辑 csproj
文件。
<PackageReference Include="Castle.Core" Version="4.0.0">
<NoWarn>NU1603</NoWarn>
</PackageReference>
如果您想抑制给定项目中所有包引用的这些警告,add/modify 您的 *.csproj 将 NU1603
包含在您想要的每个目标的 PropertyGroup
标记下压制它。
这是一个例子:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NoWarn>1701;1702;1705;NU1603</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>1701;1702;1705;NU1603</NoWarn>
</PropertyGroup>
如@user2771704 所述,这已记录在案 here。
我知道这张旧票,我遇到了同样的问题。然而,接受的答案并没有解决我的问题。所以我所做的是:
- 关闭Visual Studio
- 删除所有项目的所有 "bin" 和 "obj" 文件夹
- 删除 C:\Users[用户帐户].nuget\packages\Castle.*
中的所有 Castle.* 文件夹
- 打开 Visual Studio,清理解决方案,然后重建
我有一个 asp.net 核心项目,几天前它运行良好。我在私人仓库的 github 上有它。昨天它在从 VS 安装更新后停止工作。我在网上搜索过 github,找不到任何解决方案。我收到的警告图片已附上。警告描述如下来自微软,
NU1603
Issue A package dependency specified a version that could not be found. A higher version was used instead, which differs from what the package was authored against. This means that restore did not find the best match. Each restore will float downwards trying to find a lower version that can be used. This means that restore goes online to check all sources each time instead of using the packages that already exist in the user package folder.
Common causes The package sources do not contain the expected lower bound version. If the package expected has not been released then this may be a package authoring error.
Example message NuGet.Packaging 4.0.0 depends on NuGet.Versioning (>= 4.0.0) but 4.0.0 was not found. An approximate best match of 5.0.0 was resolved.
我不知道该如何解决?似乎没有解决方案,我什至重新安装了 VS,清除了 nuget 缓存,从全局文件夹中删除了包,但我的解决方案不起作用。
如有任何帮助,我们将不胜感激。
我猜你有 NuGet 4.3 和 VS 2017 15.3。
编码的 NuGet 警告和错误是 15.3 版本的一部分,它基本上是 NuGet.exe 4.3 版本。
基本上你有 2 个选项来解决这个问题:
- 通过手动更新
System.ComponentModel.TypeConverter
版本为 4.1.0 或更高版本的软件包来修复依赖关系树 使用
NoWarn
来 ignore/suppress 此警告,如 described here,通过如下编辑csproj
文件。<PackageReference Include="Castle.Core" Version="4.0.0"> <NoWarn>NU1603</NoWarn> </PackageReference>
如果您想抑制给定项目中所有包引用的这些警告,add/modify 您的 *.csproj 将 NU1603
包含在您想要的每个目标的 PropertyGroup
标记下压制它。
这是一个例子:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NoWarn>1701;1702;1705;NU1603</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<NoWarn>1701;1702;1705;NU1603</NoWarn>
</PropertyGroup>
如@user2771704 所述,这已记录在案 here。
我知道这张旧票,我遇到了同样的问题。然而,接受的答案并没有解决我的问题。所以我所做的是:
- 关闭Visual Studio
- 删除所有项目的所有 "bin" 和 "obj" 文件夹
- 删除 C:\Users[用户帐户].nuget\packages\Castle.* 中的所有 Castle.* 文件夹
- 打开 Visual Studio,清理解决方案,然后重建