2017-01-25 2 views
2

У меня есть приложение, разработанное в ядре asp.net с полным .net framework (.Net 4.6.1). Приложение создается с помощью Visual Studio 2017 RC. После успешной компиляции он сгенерировал TestApplication.exe.Приложение AspNet Core «Ошибка локального хоста»

Когда я перехожу в корневой каталог проекта и запускает команду dotnet run, приложение запускается и начинает прослушивание на порту 5000. Приложение отлично работает с использованием этого метода. Однако, когда я иду в projectRoot\ bin\Debug\net461\ и запустить TestApplicatin.exe, он начинает слушать порт 5000 тоже, но когда я иду в браузер и тип http://localhost:5000, я получаю следующую ошибку

страница локальный не работает

localhost в настоящее время не может обработать этот запрос.

HTTP ERROR 500

Примечание -

  1. В настоящее время я не написал любой кусок кода. Целый код: , созданный Visual Studio после выбора основного шаблона проекта asp.net.
  2. Я не хочу использовать IIS

Пожалуйста, смотрите содержание Program.cs файла

public static void Main(string[] args) 
    { 
     var host = new WebHostBuilder() 
      .UseKestrel() 
      .UseContentRoot(Directory.GetCurrentDirectory()) 
      .UseIISIntegration() 
      .UseStartup<Startup>() 
      .Build(); 

     host.Run(); 
    } 
+0

Какой шаблон вы использовали в создании ASP.NET Основной проект? Веб-API? – prtdomingo

+0

@prtdomingo Я использовал шаблон основного веб-приложения asp.net (.Net Framework), в котором я выбрал веб-приложение – parag

ответ

2

Нашли проблему. Я запускал exe, не публикуя его. Поэтому каталог bin содержал только exe (т. Е. TestApplication.exe) без папки wwwroot. Он не смог найти необходимые файлы и, следовательно, произошла фатальная ошибка. Если вы хотите запустить ядро ​​asp.net приложение без IIS (то есть самодостаточно App с помощью Kestrel) Ниже приведены правильные шаги

  1. DotNet восстановления
  2. DotNet публиковать
  3. Launch ехе из командной строки или дважды щелкнув по нему. После публикации ехе был расположен по следующему пути в моем случае

    Bin \ Debug \ net461 \ win7-x86 \ публиковать \ TestApplication.exe

+0

Что мне не хватает Я не помню проекты webapi, создающие любые .exe-файлы. –

+0

Asp.Net Core Apps на основе на .Net Core Self Contained приложения будут создавать exe, иначе будет создаваться dll, которую вы можете запустить с помощью команды прогона dotnet – parag