2015-09-10 12 views
8

Tôi nhận được một lỗi khi tôi cố gắng để cài đặt bất kỳ gói từ NuGet trong VS community edition 2015."Kết thúc kỷ lục mục Trung ương không thể tìm được" - NuGet trong cộng VS 2015

Attempting to gather dependencies information for package 'Microsoft.Net.Http.2.2.29' with respect to project 'ClassLibrary1', targeting '.NETFramework,Version=v4.5.2' 
Attempting to resolve dependencies for package 'Microsoft.Net.Http.2.2.29' with DependencyBehavior 'Lowest' 
Resolving actions to install package 'Microsoft.Net.Http.2.2.29' 
Resolved actions to install package 'Microsoft.Net.Http.2.2.29' 
Install failed. Rolling back... 
Package 'Microsoft.Bcl.Build 1.0.14' does not exist in project 'ClassLibrary1' 
Package 'Microsoft.Bcl.Build 1.0.14' does not exist in folder 'C:\Users\441793\documents\visual studio 2015\Projects\ClassLibrary1\packages' 
System.IO.InvalidDataException: End of Central Directory record could not be found. 
    at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory() 
    at System.IO.Compression.ZipArchive.Init(Stream stream, ZipArchiveMode mode, Boolean leaveOpen) 
    at System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding) 
    at System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode) 
    at NuGet.Packaging.NuGetPackageUtils.ExtractPackage(String targetPath, FileStream stream) 
    at NuGet.Packaging.NuGetPackageUtils.<>c__DisplayClass1_0.<<InstallFromStreamAsync>b__0>d.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at NuGet.Common.ConcurrencyUtilities.<ExecuteWithFileLocked>d__0`1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at NuGet.Common.ConcurrencyUtilities.<ExecuteWithFileLocked>d__0`1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at NuGet.Packaging.NuGetPackageUtils.<InstallFromStreamAsync>d__1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.GetResult() 
    at NuGet.Protocol.Core.v3.GlobalPackagesFolderUtility.<AddPackageAsync>d__1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at NuGet.Protocol.Core.v3.DownloadResourceV3.<GetDownloadResourceResultAsync>d__4.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at NuGet.PackageManagement.PackageDownloader.<GetDownloadResourceResultAsync>d__1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) 
    at NuGet.PackageManagement.NuGetPackageManager.<ExecuteNuGetProjectActionsAsync>d__42.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at NuGet.PackageManagement.NuGetPackageManager.<ExecuteNuGetProjectActionsAsync>d__42.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at NuGet.PackageManagement.UI.UIActionEngine.<ExecuteActionsAsync>d__5.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at NuGet.PackageManagement.UI.UIActionEngine.<PerformActionAsync>d__3.MoveNext() 
========== Finished ========== 

Thông báo lỗi tôi nhận được trong tab Danh sách lỗi là

End of Central Directory record could not be found 

Tôi đã thử từ ứng dụng Bảng điều khiển đến Thư viện lớp và nhận lỗi này cho tất cả các gói mà tôi đã cố cài đặt.

NuGet Phiên bản: 3.0.60624.657

Bất kỳ trợ giúp sẽ được đánh giá cao

+0

Điều này có thể xảy ra do cố gắng giải nén tệp * .gz hoặc * .7z không? – jp2code

+4

@ jp2code Tôi đã phát hiện ra sự cố. Đó là vì trình quản lý gói cố gắng giải nén tệp * .zip bị hỏng (ngoại lệ không được xử lý). Tệp đã bị hỏng do chính sách tường lửa của công ty tôi đã chặn miền nuget và dẫn đến tệp 1kb. Cảm ơn bạn đã quan tâm –

+0

Thử cài đặt bằng Bảng điều khiển quản lý gói – Curiousity

Trả lời

9

Đi vào thư mục giải pháp của bạn và xóa các "gói" thư mục của bạn. Bạn sẽ cần phải nhấp chuột phải vào giải pháp của bạn và chọn "Quản lý gói" và nhấp vào nút "Khôi phục" ở đầu màn hình nơi nó cho bạn biết các gói bị thiếu.

1

Xóa thư mục 'gói' trong thư mục dự án của bạn. Xóa dữ liệu khỏi các thư mục này:

'C: \ Users \% userName% .nuget \ packages' 'C: \ Users \% userName% \ AppData \ Local \ NuGet \ v3-cache' 'C: \ Users \% userName% \ AppData \ Local \ dnu \ cache '

Sau đó mở giải pháp và nhấp chuột phải vào cây giải pháp và nhấp vào' Khôi phục gói NuGet '.

1

Tôi gặp lỗi này ngay bây giờ từ một nguyên nhân ngớ ngẩn khác: Tôi sẽ hết dung lượng đĩa! Nếu những giải pháp này không hiệu quả với bạn, đó là một điều khác cần kiểm tra.

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