NuGet.Server возвращает ошибку 404

Я выполнил инструкции , чтобы настроить и разместить мой собственный канал NuGet. Я запускаю веб-приложение в окне Windows 2012 (IIS 8.5).

Я создаю и запускаю решение и получаю страницу default.aspx...

Что говорит: "Вы используете NuGet.Server v2.8.60318.667" и "Нажмите здесь, чтобы просмотреть ваши пакеты".

Когда я нажимаю на ссылку "здесь", я получаю "404 - файл или каталог не найден". ошибка.

  • Я могу успешно запустить команду nuget.exe push для размещения пакетов на сервер Nuget; однако я получаю ошибку 404 при попытке запустить Команда nugget.exe.
  • Я перезапустил IIS и сервер
  • Я восстановил веб-приложение NuGet.Server с нуля.
  • Я пробовал разместить NuGet.Server в окне Windows 7 без успех.
  • Web.Config имеет следующую запись

    <modules runAllManagedModulesForAllRequests="true">
    
  • У web.config также есть запись для регистрации расширения .nupkg как mimeType = "application/zip"

Кажется, что маршрутизация URL не работает, но я не могу сказать, что я делаю неправильно. Что-то мешает работе одата.

Я знаю, что есть большие сторонние реализации NuGet-сервера, но я бы очень хотел просто получить бесплатную работу, и кажется, что это должно быть так просто. Любые мысли или советы по устранению неполадок будут оценены.

Ответ 1

Если вы называете проект Nuget.Server, поскольку ваша сгенерированная dll будет Nuget.Server.dll, это не сработает, потому что Nuget.Server.dll является фактической dll для сервера. Переименуйте название своей сборки в другое.

Ответ 2

Если вы создаете новый пустой проект VB, вы также получите 404 (в пакетах и ​​в браузере с помощью NuGet Manager).

Кажется, вам нужно создать проект как С#, и он работает как рекламируемый!

И все же исходный код выглядит идентичным: (

Ответ 3

У меня есть один ответ, который не упоминается ни в одном из сообщений, которые я нашел. Если вы назовете проект Nuget.Server, хотя публикация будет работать в IIS, ninject не сможет настроить маршрут списка пакетов, потому что он попытается загрузить неправильную DLL и ошибку.

Вот несколько других возможных ответов:

Возможные ответы 1

Возможные ответы 2

Ответ 4

Файл NuGet.config в% APPDATA%\NuGet или $(SolutionDir).nuget может ссылаться на неожиданные URL-адреса активного источника. Например, nuget.exe, созданный установкой агента сборки TFS, может знать протокол NuGet v2 только в том случае, если URL-адреса относятся к протоколу v3. Или пользовательский URL-адрес сервера NuGet может отсутствовать в NuGet.config.

Ответ 5

У меня была аналогичная проблема, и я нашел решение! Я создал частный сервер nuget, следуя инструкциям по созданию пустого проекта ASP.NET(я на VS2015), а затем установил nuget.server(в настоящее время v2.11.3.0). Мне удалось запустить веб-страницу, но я не смог использовать "nuget.exe push" для загрузки пакетов. Я получил ужасную ошибку 404, не найденную.

В конце концов я клонировал исходный код nuget.server с github и запускал это прямо, что отлично работало!? Я обнаружил, что мой web.config был неправильным. Для меня ключевая строка была

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

в

<system.webServer>/<handlers> 

раздела.

Я предлагаю всем, кто имеет проблемы, обращаться к github и сравнивать файлы web.config.

BTW: установка nuget.server должна заменить ваш web.config. Возможно, это не сработало правильно.

Ответ 6

У меня была эта проблема сегодня. На самом деле мне нужно сделать это в Global.asax:

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

Ответ 7

Я заметил, что вы получаете ошибку 404 при попытке загрузить довольно большие пакеты nuget. Я поднял maxAllowedContentLength, и это помогло.

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

Ответ 8

У меня была эта проблема с чистым веб-проектом Visual Studio 2017.

Воссоздание с Visual Studio 2015 и таргетинг на .NET 4.6.1 отсортированы