2016-09-20 23 views
11

Sau khi cài đặt Windows 10 mới cùng với công cụ mới nhất Visual Studio 2015, netcore và nuget - Tôi không thể cài đặt gói Nuget vào bất kỳ dự án chuẩn nào. Dưới đây là một số ví dụ đầu ra:Netstandard1.x Gói Nuget không thể được cài đặt cho các dự án netstandard1.x

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'. 

tôi tạo ra các dự án ClassLibrary1 như một thư viện lớp di động, thay đổi mục tiêu để netstandard1.3, và không thể cài đặt bất kỳ gói NuGet rằng hiện sự ủng hộ cho netstandard1.3. Tương tự cho netstandard1.5 và các phiên bản khác.

Tôi chỉ cố gắng kéo và xây dựng nguồn cho MailKit (một dự án hỗ trợ .netstandard) để xác minh tôi đã không thiết lập dự án của tôi sai và đang nhận được cùng một vấn đề:

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. 

Tôi đã đã đăng một số chi tiết khác tại đây: https://github.com/NuGet/Home/issues/3433

Tất cả đều hoạt động trước khi tôi định dạng lại bằng cài đặt Windows mới. Tui bỏ lỡ điều gì vậy?

+0

Bạn có thể thử chạy lệnh "nuget.exe locals -clear all" không? –

+0

Điều này dường như khắc phục được sự cố. Cảm ơn! Tôi sẽ đưa ra một câu trả lời chi tiết hơn cho câu hỏi vì nó trông giống như một vấn đề chung cho mọi người. – zone117x

Trả lời

9

Có giải pháp làm việc nhờ mẹo từ @eddie-msft.

Tải commandline NuGet mới nhất util từ đây https://dist.nuget.org/index.html (v3.5.0-rc1 tại thời điểm niêm yết)

Sau đó chạy:

nuget.exe locals -clear all

tôi đã chắc chắn có VS đóng cửa và xóa bất kỳ dự án hiện có. tệp lock.json. Bây giờ mọi thứ dường như hoạt động như dự định.

Tôi thấy vấn đề này xảy ra trên bất kỳ hệ thống nào có cài đặt Windows/VS/công cụ mới, do đó có khả năng xảy ra lỗi với trình cài đặt của họ.

+0

Chỉ cần cố định gói nuget bị hỏng của tôi cài đặt. Cảm ơn – KSF

1

Có vẻ như có điều gì đó bị bỏ qua trong công cụ của bạn và thông báo lỗi không phải lúc nào cũng rõ ràng nhất về điều này. bạn có thể chắc chắn rằng bạn đã chạy cả các trình cài đặt ở đây:

Visual Studio 2015 Update 3 (Tôi đoán bạn có điều này)

.NET Core 1.0.1 - VS 2015 Tooling Preview 2

Tôi thực sự không nghĩ rằng đó là một vấn đề hồ sơ dự án, như MailKit là không cho bạn, và tôi nghi ngờ bạn đã phá vỡ NuGet. Các bit khác mà có thể cung cấp cho bạn một số thông tin tốt nếu điều này không hoạt động là chạy

Dotnet restore 

trong thư mục dự án để xem cách thức xử lý nó không có Visual Studio.

1

Đối với VS 2017 - Cập nhật 15,3

Bạn có thể khắc phục điều này bằng cách làm như sau

Sửa File .csproj cho .NET Thư Viện Tiêu chuẩn và thêm những dòng này

<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 sẽ cho phép bạn sử dụng các gói tương thích cũ hơn.

https://www.cameronmoten.com/2017/08/19/fixing-xamarin-with-net-standard-in-visual-studio-2017-v-15-3/

Các vấn đề liên quan