无法为netstandard1.x项目安装Netstandard1.x Nuget软件包
在完成全新的Windows 10安装以及最新的Visual Studio 2015,netcore和nuget工具之后 – 我无法再将Nuget软件包安装到任何.net标准项目中。 这是一些示例输出:
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 (一个支持.netstandard的项目)的源代码来validation我没有设置我的项目错误并且遇到了同样的问题:
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安装之前,这一切都有效。 我错过了什么吗?
来自@ eddie-msft的提示,得到了一个有效的解决方案。
从这里下载最新的nuget命令行工具https://dist.nuget.org/index.html (发布时v3.5.0-rc1 )
然后运行:
nuget.exe locals -clear all
我确保关闭VS并删除任何现有的project.lock.json文件。 现在一切似乎按预期工作了。
我发现在使用Windows / VS /工具的全新安装的任何系统上都会出现此问题,因此安装程序可能存在错误。
VS 2017 – 更新15.3
您可以通过执行以下操作来解决此问题
编辑.NET标准库的.csproj
文件并添加这些行
netstandard1.4 $(PackageTargetFallback);dotnet5.6;portable-net45+win8 Other stuff here
PackageTargetFallback将允许您使用较旧的兼容包。
看起来你的工具中遗漏了一些东西,错误信息并不总是最清楚的。 你能确保你在这里运行了两个安装程序:
Visual Studio 2015 Update 3 (我猜你有这个)
.NET Core 1.0.1 – VS 2015工具预览版2
我真的不认为这是一个项目文件问题,因为MailKit失败了,我怀疑你打破了NuGet。 如果这不起作用,另一个可能会给你一些好信息的是运行
Dotnet restore
在项目目录中查看donet如何在没有Visual Studio的情况下处理它。
- 将Env Conn字符串注入.NET Core 2.0 w / EF Core DbContext中的不同类lib比启动prj并实现IDesignTimeDbContextFactory
- 添加对netstandard 2.0的引用的问题
- HTTP错误404.13 – asp.net核心2.0
- 如何使用EF Core 2.1.0和代理进行延迟加载
- .NET Core控制台应用程序,如何为每个环境配置appSettings?
- 缓存在Identity Server 4中似乎不起作用
- .net核心dependency injection是否支持Lazy
- 如何从.Net核心应用程序中的SQL语句获取标量值?
- 如何在.net核心中执行String.Copy?