Могу ли я сохранить работоспособность веб-сайта ASP.NET Core после прекращения отладки? - PullRequest
0 голосов
/ 20 марта 2019

Я новичок в ASP.NET Core, и мне не хватает одной функции, которой я часто пользуюсь.

При настройке нового проекта ASP.NET MVC (до Core) я бы открыл свойства проекта и на вкладке Web снимите флажок Редактировать и продолжить. Таким образом, я мог запустить свой проект, просмотреть его в браузере, остановить отладку в VS, и он продолжил бы работать.

Это означало, что я мог вносить изменения, перекомпилировать и перезагружать страницу, без необходимости снова начинать отладку. Если на самом деле мне не нужно было взламывать код, это было намного быстрее, чем начинать новый сеанс отладки после каждого изменения.

Можно ли это сделать в ASP.NET Core? Мне пока не удалось найти способ.

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

Если вы хотите редактировать свое приложение во время его работы, вы должны запустить его без отладки (ctrl + F5). Суть в том, что вы можете использовать основные сервисы .net, такие как ссылка на браузер (включена в режиме разработки), что фактически позволяет открывать ваше приложение во многих браузерах одновременно. Ваше приложение будет работать, если вы не выключите его, например, закрыв через iis express. Он использует сигнал r для поддержания соединения, но если вы сделаете определенные изменения, например, в коде базы данных, вам придется запустить его снова, чтобы увидеть изменения. Он очень легкий, поэтому вам не нужно закрывать приложение через iis, просто введите ctrl и f5, и он запустится снова.

Помните, ваше основное приложение asp.net поставляется с собственным веб-сервером, kestrel. Таким образом, вы также можете запустить его без IIS.

В режиме отладки цель состоит в том, чтобы проанализировать ваше приложение, например, установив точки останова, где выполнение останавливается, чтобы вы могли просматривать стек. Это отличается от того, что происходит без отладки, потому что цель состоит не в том, чтобы изменить приложение на лету, поскольку это не имеет смысла. Вы тестируете свою текущую версию, изменение ее в режиме отладки потенциально может скрыть другие недостатки и т. Д.

1 голос
/ 20 марта 2019

Вы можете запустить Kestel из командной строки и добавить команду наблюдения. В папке вашего проекта выполните команду:

dotnet watch run

Каждый раз, когда вы сохраняете файл в Visual Studio, часы автоматически перезагружают веб-сервер, и на ваших страницах отображаются внесенные вами изменения.

Вы также можете добавить профиль к себе launchSettings.json и запустить профиль с помощью Ctrl-F5 или «Отладка»> «Пуск без отладки».

"Dotnet Watch": {
  "executablePath": "C:\\Program Files\\dotnet\\dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchUrl": "https://localhost:5001;http://localhost:5000",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

Наконец, в любом случае, вы можете добавить его в свои инструменты Visual Studio. Тогда он будет доступен в любых проектах, над которыми вы работаете.

"Инструменты> Внешние инструменты ..."

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...