Nuget 将 debian 包安装到 .NET Framework 4.6.1 项目中;为什么?

Nuget installing debian package into .NET framework 4.6.1 project; Why?

我有一个项目,每当我执行 nuget 更新时,它都会失败并显示以下内容:

15:47:27
    Successfully installed 'Microsoft.NETCore.Targets 3.1.0' to MyProject.csproj
15:47:27
    WARNING: Install failed. Rolling back...
15:47:27
    WARNING: Package 'runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3' does not exist in project 'MyProject.csproj'
15:47:27
    Removed package 'Microsoft.NETCore.Targets 3.1.0' from 'packages.config'

有谁能解释一下为什么要尝试安装 debian 软件包?我查看了 https://www.nuget.org/packages/Microsoft.NETCore.Targets/

的依赖项

似乎有 none(?)

提前致谢 马克

Nuget installing debian package into .NET framework 4.6.1 project; Why?

实际上,该包没有名为 runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.3 的依赖项,我也想知道为什么您的 net 框架项目需要该依赖项。

另外,我发现 Net Framework 项目无法安装该包,因为它与 Net Framework 不兼容。请检查您的项目是否有依赖项目。

这很奇怪,我认为 Nuget、VS 或您的项目本身出现问题。

建议

1)工具-->扩展和更新下禁用任何第三方扩展以防某些扩展导致这种异常行为。

2) 单击工具下的clean all nuget caches-->选项- ->Nuget 包管理器-->常规

3)关闭VS,删除C:\Users\xxx(current user name)\AppData\Roaming\Nuget下的Nuget.config文件,同时检查你的项目中是否有新的nuget.config文件父目录或更高目录。

4)删除解决方案文件夹下的.vs隐藏文件夹,binobj文件夹,然后运行update-package -reinstallPackage Manager Console(Tools-->Nuget Package Manger 上重新安装每个 nuget 包.

5) 运行 VS2017 的开发人员命令提示符 作为 管理员 和然后输入:

regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VsLangproj.olb"

确保文件存在于路径下。参见 this document

6) repair VS 在 VS Installer 中或更新到最新版本。

我建议您尝试上面的每一步,并向我们提供任何反馈。