2015-05-29 18 views
11

Tôi đã theo dõi instructions để thiết lập và lưu trữ nguồn cấp dữ liệu NuGet của riêng tôi. Tôi đang chạy ứng dụng web trên một hộp Windows 2012 (IIS 8.5).NuGet.Server trả về lỗi 404

tôi xây dựng và chạy các giải pháp và nhận được trang default.aspx ...

nào nói "Bạn đang chạy NuGet.Server v2.8.60318.667" và "Click vào đây để xem các gói của bạn".

Khi tôi nhấp vào liên kết "ở đây", tôi nhận được "404 - Không tìm thấy tệp hoặc thư mục". lỗi.

  • Tôi có thể chạy thành công lệnh đẩy nuget.exe để đặt gói trên máy chủ Nuget; tuy nhiên tôi gặp lỗi 404 khi cố gắng chạy lệnh nugget.exe.
  • Tôi đã khởi động lại IIS và máy chủ
  • Tôi đã xây dựng lại ứng dụng web NuGet.Server từ đầu.
  • Tôi đã thử lưu trữ NuGet.Server trên hộp Windows 7 không có thành công .
  • Các Web.Config có sự xâm nhập sau

    <modules runAllManagedModulesForAllRequests="true"> 
    
  • Các web.config cũng có một mục đăng ký phần mở rộng .nupkg như MIMETYPE = "application/zip"

Nó có vẻ như định tuyến url không hoạt động, nhưng dường như tôi không thể xác định được những gì tôi đang làm sai. Một cái gì đó đang ngăn chặn nguồn cấp dữ liệu odata hoạt động.

Tôi biết có những triển khai tuyệt vời của bên thứ 3 của máy chủ NuGet, nhưng tôi thực sự muốn chỉ có một ứng dụng miễn phí hoạt động và có vẻ như nó dễ dàng như vậy. Bất kỳ suy nghĩ hoặc mẹo khắc phục sự cố nào đều sẽ được đánh giá cao.

Trả lời

1

Tôi có một câu trả lời không được đề cập trong một trong các bài đăng mà tôi đã tìm thấy. Nếu bạn đặt tên cho dự án Nuget.Server của bạn, mặc dù việc xuất bản sẽ hoạt động trong IIS, ninject sẽ thất bại trong việc thiết lập tuyến danh sách gói vì nó sẽ cố tải sai DLL và lỗi.

Dưới đây là một số câu trả lời có thể khác:

Possible Answers 1

Possible Answers 2

0

Tôi đã có vấn đề này ngày hôm nay. Trên thực tế những gì tôi cần phải làm điều này là trong Global.asax:

void Application_Start(object sender, EventArgs e) 
{ 
    NuGetRoutes.Start(); 
} 
4

Nếu bạn đặt tên cho bạn dự án Nuget.Server, vì dll tạo của bạn sẽ được Nuget.Server.dll nó sẽ không làm việc vì Nuget.Server.dll là dll thực tế cho máy chủ. Đổi tên tên Hội của bạn thành tên khác.

1

Tệp NuGet.config trong% APPDATA% \ NuGet hoặc $ (SolutionDir) .nuget có thể đề cập đến URL "nguồn hoạt động" không mong muốn. Ví dụ, nuget.exe được cài đặt bởi tác nhân xây dựng TFS có thể chỉ biết giao thức NuGet v2 trong khi các URL tham chiếu đến giao thức v3. Hoặc URL máy chủ NuGet tùy chỉnh có thể bị thiếu trong NuGet.config.

1

Tôi gặp sự cố tương tự và tôi đã tìm thấy giải pháp! Tôi tạo ra một máy chủ nuget tư nhân theo các hướng dẫn để tạo ra một dự án ASP.NET trống (tôi đang trên VS2015) và sau đó cài đặt nuget.server (hiện tại v2.11.3.0). Tôi đã có thể chạy và xem trang web ngoại trừ tôi không thể sử dụng "nuget.exe push" để tải lên các gói. Tôi nhận được lỗi 404 không tìm thấy đáng sợ.

Tôi cuối cùng nhân bản mã nguồn nuget.server khỏi github và chạy trực tiếp mà hoạt động tốt !? Tôi đã phát hiện thấy web.config của mình không chính xác. Với tôi dòng chính là

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,PUT,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/> 

trong phần

<system.webServer>/<handlers> 

.

Tôi đề nghị bất kỳ ai gặp sự cố phải truy cập github và so sánh tệp web.config.

BTW: nuget.server cài đặt được cho là thay thế web.config của bạn. Điều này có thể không hoạt động đúng với tôi.

0

Tôi nhận thấy rằng bạn gặp lỗi 404 khi bạn cố gắng tải lên các gói nuget khá lớn. Tôi đã tăng số maxAllowedContentLength và điều đó đã giúp ích.

<system.webServer> 
    <security> 
    <requestFiltering> 
     <requestLimits maxAllowedContentLength="31457280"/> 
    </requestFiltering> 
    </security> 
</system.webServer> 
3

Nếu bạn tạo một dự án VB trống mới bạn cũng sẽ nhận được một 404 (trong gói và trình duyệt sử dụng NuGet Manager).

Dường như bạn phải tạo dự án là C# và hoạt động như được quảng cáo!

Tuy nhiên mã nguồn dường như giống hệt nhau :(

0

Tôi có vấn đề này với một dự án Visual Studio 2017 Web sạch.

Tái từ Visual Studio 2015 và nhắm mục tiêu NET 4.6.1 sắp xếp nó ra

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