Netstandard1.netstandard1无法安装Nuget包.x项目

本文关键字:项目 Nuget 安装 netstandard1 Netstandard1 | 更新日期: 2023-09-27 18:08:00

在安装了Windows 10以及最新的Visual Studio 2015、netcore和nuget工具之后,我再也不能在任何。netstandard项目中安装nuget包了。下面是一些输出示例:

Restoring packages for 'ClassLibrary1'.
Restoring packages for c:'users'zone1'documents'visual studio 2015'Projects'ClassLibrary1'ClassLibrary1'project.json...
Package System.ComponentModel.EventBasedAsync 4.0.11 is not compatible with netstandard1.3 (.NETStandard,Version=v1.3). Package System.ComponentModel.EventBasedAsync 4.0.11 supports:
  - monoandroid10 (MonoAndroid,Version=v1.0)
  - monotouch10 (MonoTouch,Version=v1.0)
  - net45 (.NETFramework,Version=v4.5)
  - netcore50 (.NETCore,Version=v5.0)
  - netstandard1.0 (.NETStandard,Version=v1.0)
  - netstandard1.3 (.NETStandard,Version=v1.3)
  - portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259)
  - win8 (Windows,Version=v8.0)
  - wp8 (WindowsPhone,Version=v8.0)
  - wpa81 (WindowsPhoneApp,Version=v8.1)
  - xamarinios10 (Xamarin.iOS,Version=v1.0)
  - xamarinmac20 (Xamarin.Mac,Version=v2.0)
  - xamarintvos10 (Xamarin.TVOS,Version=v1.0)
  - xamarinwatchos10 (Xamarin.WatchOS,Version=v1.0)
One or more packages are incompatible with .NETStandard,Version=v1.3.
Package restore failed for 'ClassLibrary1'.

我创建了项目ClassLibrary1作为可移植类库,将目标更改为netstandard1.3,并且不能安装任何显示支持netstandard1.3的Nuget包。netstandard1.5和其他版本也是如此。

我只是试图拉和构建MailKit(一个支持。net标准的项目)的源代码,以验证我没有设置我的项目错误,并得到同样的问题:

Errors in C:'Users'zone1'Repos'MailKit'MailKit'MailKit.CoreFX.xproj
    Package System.Net.NetworkInformation 4.1.0 is not compatible with netstandard1.3 (.NETStandard,Version=v1.3). Package System.Net.NetworkInformation 4.1.0 supports:
      - monoandroid10 (MonoAndroid,Version=v1.0)
      - monotouch10 (MonoTouch,Version=v1.0)
      - net45 (.NETFramework,Version=v4.5)
      - netcore50 (.NETCore,Version=v5.0)
      - netstandard1.0 (.NETStandard,Version=v1.0)
      - netstandard1.3 (.NETStandard,Version=v1.3)
      - portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259)
      - win8 (Windows,Version=v8.0)
      - wp8 (WindowsPhone,Version=v8.0)
      - wpa81 (WindowsPhoneApp,Version=v8.1)
      - xamarinios10 (Xamarin.iOS,Version=v1.0)
      - xamarinmac20 (Xamarin.Mac,Version=v2.0)
      - xamarintvos10 (Xamarin.TVOS,Version=v1.0)
      - xamarinwatchos10 (Xamarin.WatchOS,Version=v1.0)
    One or more packages are incompatible with .NETStandard,Version=v1.3.

我在这里发布了更多的细节:https://github.com/NuGet/Home/issues/3433

在我用新的Windows安装重新格式化之前,这一切都工作了。我错过什么了吗?

Netstandard1.netstandard1无法安装Nuget包.x项目

得到了一个有效的解决方案,感谢@eddie-msft的提示。

从这里下载最新的nuget命令行util https://dist.nuget.org/index.html(发布时为v3.5.0-rc1)

然后运行:

nuget.exe locals -clear all

我确保有VS关闭并删除任何现有的项目。锁。json文件。现在一切似乎都按预期进行。

我发现这个问题发生在任何新安装Windows/VS/tools的系统上,所以很可能是安装程序的错误。

VS 2017 - Update 15.3

您可以通过执行以下操作来绕过此问题

编辑。net标准库的.csproj文件,并添加以下行

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
 <TargetFramework>netstandard1.4</TargetFramework>
 <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netstandard1.4' ">$(PackageTargetFallback);dotnet5.6;portable-net45+win8</PackageTargetFallback>
 </PropertyGroup>

Other stuff here
 </Project>

PackageTargetFallback将允许您使用旧的兼容包。

https://www.cameronmoten.com/2017/08/19/fixing xamarin - -网-标准-视觉工作室- 2017 v - 15 - 3/

看起来您的工具中遗漏了一些东西,并且错误消息传递并不总是最清楚的。你能确保你已经运行了这里的两个安装程序吗?

Visual Studio 2015 Update 3(我猜你有这个)

。. NET Core 1.0.1 - VS 2015工具预览2

我真的不认为这是项目文件的问题,因为MailKit对你来说是失败的,我怀疑你弄坏了NuGet。如果这不起作用,另一个可能给你一些有用信息的位是运行

Dotnet restore

,看看donet在没有Visual Studio的情况下是如何处理的。