2016-12-01 30 views
5

Tôi đã sử dụng phần mở rộng GitHub của Visual Studio 2015 để sao chép dự án của tôi vào một máy tính mới. Tôi cố gắng khôi phục các gói và tôi nhận được thông báo lỗi:NuGet Gói khôi phục không thành công cho dự án DỰ ÁN: Không thể tìm thấy phiên bản 2.0.0 của gói 'Microsoft.Net.Compilers'

NuGet Package restore failed for project PROJECT: Unable to find version 2.0.0 of package 'Microsoft.Net.Compilers' 

Tôi đã xem xét một số câu hỏi khác về các vấn đề tương tự, nhưng chưa có giải pháp nào trong số đó đã làm việc cho tôi.

Tôi đã thử xóa thư mục gói, mở Visual Studio một lần nữa và sau đó xây dựng lại. Điều đó không giải quyết được.

Tôi đã thử cài đặt Microsoft.Net.Compilers theo cách thủ công trong Bảng điều khiển Trình quản lý gói.

PM> Install-Package Microsoft.Net.Compilers 

tôi đã cố gắng loại bỏ chút mã này từ tập tin csproj (điều này dường như làm việc cho một số):

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
</Target> 

tôi đã cố gắng cài đặt lại tất cả các gói với

Update-Package –reinstall 

Cho đến nay tôi chưa có may mắn giải quyết vấn đề. Bất kỳ trợ giúp được đánh giá cao.

EDIT:

I tried the response below and received this error: 

Install-Package : Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations. 
At line:1 char:16 
+ Install-Package <<<< -Id Microsoft.Net.Compilers -Version 1.3.2 -Source nuget.org 
    + CategoryInfo   : InvalidOperation: (:) [Install-Package], InvalidOperationException 
    + FullyQualifiedErrorId : NuGetMissingPackages,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand 

Nó cũng nhắc nhở tôi để khôi phục lại các gói. Khi tôi nhấn khôi phục, tôi nhận được lỗi tương tự như bình thường.

Trả lời

8

Dựa trên thông báo lỗi của bạn, có vẻ như bạn đang tìm kiếm một phiên bản không còn tồn tại và không thể biết bạn đã chọn nguồn gói nào. Tôi cảm thấy như bạn đang tìm kiếm phiên bản 2.0.0 mà không có sẵn trong kho lưu trữ nuget.org. Cái mới nhất là 2.0.0-rc và nó là ứng cử viên được phát hành trước.

Vui lòng thử lệnh này nếu bạn muốn để có được phiên bản mới nhất

Install-Package -Id Microsoft.Net.Compilers -Version 2.0.0-rc -Source nuget.org 

Nếu bạn muốn phiên bản ổn định mới nhất (1.3.2), hãy thử lệnh này

Install-Package -Id Microsoft.Net.Compilers -Version 1.3.2 -Source nuget.org 

CẬP NHẬT Nếu gói vẫn không thể được cài đặt, thì gói đó có thể không đồng bộ giữa packages.config, gói/thư mục và tệp .csproj

Vui lòng làm theo các bước sau để thực hiện dọn dẹp thủ công

  1. Đóng studio trực quan.
  2. Mở .csproj trong notepad hoặc một số trình soạn thảo văn bản và xóa thủ công tất cả các mục liên quan đến Microsoft.Net.Compilers
  3. Mở packages.config trong notepad hoặc một số trình soạn thảo văn bản và xóa mục nhập cho Microsoft.Net.Compilers gói
  4. Chuyển đến gói/thư mục trong cửa sổ thám hiểm và xóa thư mục Microsoft.Net.Compilers
  5. Bây giờ bắt đầu studio trực quan và mở giải pháp.
  6. Bây giờ hãy thử cài đặt lại gói.

Một số mục mà bạn có thể phải loại bỏ từ csproj như một phần của bước 2 là những

<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" /> 

<NuGetPackageImportStamp></NuGetPackageImportStamp> 

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
     <PropertyGroup> 
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
     </PropertyGroup> 
     <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props'))" /> 
</Target> 
+0

Cảm ơn bạn đã trả lời. Tôi đã thử cả hai và mỗi lần tôi nhận được lỗi này: Install-Package: Một số gói NuGet bị thiếu trong giải pháp. Các gói cần được khôi phục để xây dựng biểu đồ phụ thuộc. Khôi phục các gói trước khi thực hiện bất kỳ thao tác nào. Tại dòng: 1 char: 16 + Gói cài đặt <<<< -Id Microsoft.Net.Compilers -Phiên bản 1.3.2 -Source nuget.org + CategoryInfo: InvalidOperation: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId: NuGetMissingPackages, NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand –

+0

Vui lòng xem cập nhật của tôi. Có vẻ như gói Microsoft.Net.Compilers của bạn có thể không đồng bộ giữa files.config, gói/thư mục và tệp .csproj. Bạn phải tự làm sạch nó trước khi thử cài đặt lại. – Vinod

+0

Điều đó hoạt động hoàn hảo. Cảm ơn bạn! –

0

tôi biết tại sao, đó là trong thư mục C: \ Program Files (x86) \ Microsoft Thư mục SDK \ NuGetPackages. Có các gói mà bạn đã cài đặt trước đó.

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