2013-08-14 79 views
11

Tôi gặp phải các lỗi này khi chạy bước xây dựng MSBuild để xây dựng dự án web trong TeamCity và tôi đã thiết lập mục tiêu Nuget tệp PackageSource để trỏ đến máy chủ Nuget cục bộ ví dụ GóiSource Bao gồm = "http: // mylocaldevurl/nuget/Gói".MSBuild NuGet.targets, Nuget.exe: Không thể đọc gói từ lỗi 'blah.nupkg' đường dẫn

Bản dựng chạy và tạo ra lỗi của biểu mẫu ví dụ: Exec] F: \ TeamCity \ buildAgent \ work \ blahblah.nuget \ NuGet.targets (87, 9): Không thể đọc gói từ đường dẫn 'Lucene.Net.3.0.3.nupkg'.

Có gì lạ khi các gói khác được tải xuống tốt vào thư mục làm việc TeamCity -the thư mục gói.

Máy chủ Nuget cục bộ chứa các bản sao gói giải pháp VS của tôi (các gói trong thư mục gói mặc định) chỉ với các tệp .nupkg.

Câu hỏi của tôi là có điều gì đó mà tôi cần phải làm khi sao chép các tệp .nupkg vào máy chủ đó. Tôi có thể thiếu một số thứ.

Tôi đã gấp đôi kiểm tra rằng các gói tồn tại trong máy chủ địa phương

Trả lời

0

Chúng tôi làm điều này bằng cách cập nhật các tập tin cấu hình NuGet cho người sử dụng rằng BuildAgent đang chạy dưới thay vì thiết lập một nguồn gói và nó làm việc tốt kể từ NuGet v1.6.

File: c \ Users \ svc_teamcity \ AppData \ Roaming \ NuGet \ NuGet.config

Hình như:

<activePackageSource> 
    <add key="NuGet official package source" value="https://nuget.org/api/v2/" /> 
    <add key="MyNuGetGallery" value="D:\NuGet.Packages" /> 
</activePackageSource> 
15

Tôi có vấn đề này cùng sử dụng TFS. Những gì tôi đã làm điều đó cố định nó đã được rõ ràng bộ nhớ cache nuget trong hồ sơ người dùng đang chạy xây dựng (% LocalAppData% \ NuGet \ Cache). Tôi chỉ làm trống thư mục và chạy lại bản dựng, sau đó nó hoạt động.

+0

Tôi vừa xóa gói có vấn đề khỏi bộ nhớ cache. Nó sẽ rất thú vị để thực sự hiểu tại sao điều này giải quyết vấn đề. Chỉnh sửa: thực sự, tôi nghĩ rằng gói đã bị hỏng (gói làm việc lớn hơn nhiều trên đĩa) – Anton

6

Nếu TeamCity của bạn đang chạy dưới tài khoản người dùng hệ thống sau đó bạn có thể thử để xóa NuGet cache mà nằm ở một trong các thư mục này:

  • C: \ Windows \ System32 \ config \ systemprofile \ AppData \ Local
  • C: \ Windows \ SysWOW64 \ config \ systemprofile \ AppData \ Local
2

Trong trường hợp của tôi, tài khoản dịch vụ được sử dụng để chạy các tác nhân xây dựng đã bị hạn chế truy cập ra Internet qua proxy WebSense của chúng tôi.

Thông báo lỗi tôi đã nhận được trong việc xây dựng nhật ký:

Không thể đọc trọn gói từ path 'EntityFramework.5.0.0.nupkg'.

tôi điều hướng đến thư mục bộ nhớ cache cho người sử dụng đại lý xây dựng (C: \ Users \ {BuildAgentUser} \ AppData \ Local \ NuGet \ Cache) và tìm thấy các tập tin .nupkg đó mà đã gây ra lỗi.

Tôi có thể thấy có điều gì đó không ổn, vì tệp chỉ có 3KB, khi trên máy của riêng tôi, nó đã vượt quá 1MB.

Nhìn vào nội dung của tệp .nupkg đã tiết lộ sự cố - việc tải xuống đã bị chặn bởi WebSense và nó thực sự chứa thông báo lỗi đã được hiển thị khi nó được duyệt trong trình duyệt web.

0

Tôi gặp sự cố tương tự nhưng trên máy Mac. Những gì tôi đã làm chỉ là xóa một gói nuget đã gây ra vấn đề. Nó được đặt tại:

/Users/yourusername/.local/share/NuGet/Cache 
0

Tôi biết đây là câu hỏi cũ, tôi đã gặp vấn đề này gần đây và không giải pháp nào được cung cấp ở trên không giải quyết được vấn đề của tôi. Và lý do cho lỗi là, một trong các gói đã bị hỏng và kích thước tệp .nupkg là 0 kb. Những gì tôi đã làm là các bước trước đó, và điều đó giải quyết được vấn đề của tôi và tôi đã có thể cài đặt lại các gói.

  1. Tới thư mục dự án của bạn
  2. Mở gói thư mục
  3. Tìm các gói mà bạn đang nhận được lỗi (blah.nupkg)
  4. Xóa thư mục
  5. Xây dựng dự án của bạn và dự án của bạn sẽ được xây dựng thành công