2013-01-24 26 views
7

Tôi đã theo dõi các instructions to host a NuGet Server (phiên bản 2.2.2) này trên Mạng nội bộ của chúng tôi. Nó hoạt động tốt như xa như danh sách các gói và lấy chúng trong VS 2012. Nhưng khi tôi tạo một gói bằng cách sử dụng Nuget Package Explorer và cố gắng để xuất bản nó tôi được nhắc nhở với một hộp thoại Windows Security nhắc cho thông tin đăng nhập. Bất kể thông tin đăng nhập nào tôi nhập vẫn giữ nguyên nhắc tôi về tên người dùng và mật khẩu và trả lại lỗi xác thực 401. Tại sao máy chủ NuGet nhắc tôi về các thông tin đăng nhập Windows và làm thế nào tôi có thể loại bỏ nó? Nó chỉ làm điều này cho xuất bản và không có gì khác.Cách khắc phục lỗi xác thực 401 khi xuất bản lên máy chủ tự lưu trữ NuGet

+1

Cùng một sự cố ... Tôi đã thay đổi đường dẫn đến thư mục "Gói" thành "Tất cả" và "IIS_USR" và chúng có thể ghi trong đó ... Vẫn hiển thị lời nhắc chứng chỉ. Cứu giúp? – Taber

Trả lời

1

Tôi nghĩ rằng một tìm thấy một giải pháp (ít nhất là cho những vấn đề của tôi):

Tôi đã từ bỏ cho vấn đề NuGet, và tôi tập trung vào các lỗi ISS 401. Sau đó, tôi đã cấp quyền cho người dùng "IIS AppPool \ DefaultAppPool" vào gốc của ứng dụng (hoặc AppPool của bạn sử dụng ứng dụng, trong trường hợp của tôi "ASP.NET v4.0"). Sau đó, nó hoạt động như quyến rũ !.

Thông tin thêm (và lời giải thích tốt về vấn đề này): ApplicationPoolIdentity in IIS7 401 errors

3

Có một điều nữa ngoài việc cấu hình quyền truy cập cho thư mục Packages. Trong trường hợp của tôi, tôi phải sử dụng URL như

http://<server>/<nuget_virtual_dir>/api/v2/package/ 

để đẩy. Đó là giải pháp duy nhất trong trường hợp của tôi.

0

Bạn có thể tìm this SO answer hữu ích, vì nó bao gồm làm thế nào để cấu hình các thông tin trên một máy trạm xuất bản (hoặc xây dựng máy chủ, nhưng trong cả hai trường hợp đó là thông tin chính xác.)

2

Khi bạn sử dụng NuGet đẩy bạn cần phải đặt/api/v2/gói sau URL NuGet máy chủ (ví dụ http://myhost/myNuGetServer/api/v2/package)

Nếu bạn sử dụng giao diện người dùng NuGet (NuGet Package Explorer), bạn cần phải đặt chỉ url máy chủ hơn URL (ví dụ http://myhost/myNuGetServer/)

chăm sóc cũng cấu hình apikey trong Web.config và sử dụng nó trong NuGet pus h!