Как выполнить автоматическую перезагрузку проекта .NET Core в Visual Studio 2019?


11

Я пытаюсь автоматически перезагрузить ASP.NET Core Project так же, как Angular с Node или NPM.

Это значит, я изменил в коде .NET Core Project и сохранил. Это время автоматически направить эффект в браузере и автоматически перезагрузить веб-страницу в браузере.


Я не совсем уверен, что вы подразумеваете под перезагрузкой, но в целом вы не можете изменить код во время выполнения.
Ясир Жаруф

@YasserJarouf, я не говорю о В визуальной студии 2019.
Акаш

Проекты ASP.NET Основные Угловое уже перезагружать код на стороне клиента - они являются угловые, а не только same asугловые. ASP.NET Core используется для предоставления API-страниц и страниц, не относящихся к SPA.
Панагиотис Канавос

Любые другие способы, как объединить установить пакет npm с проектом ASP.NET Core?
Акаш

Ответы:


5

Я думаю, что часы dotnet должны работать. Смотрите документацию по ссылке, так как есть различные варианты.

  1. Добавьте Microsoft.DotNet.Watcher.Tools в раздел инструментов файла project.json.
  2. Запустите dotnet restore
  3. Выполнить с помощью DotNet Watch Run

Но, используя это, я не могу автоматически перезагружаться как Angular. Если я нажал Ctrl + S , то в браузере не было никаких действий. Спасибо за ответ.
Акаш

Вы должны запустить свое приложение, используя командную строку, и добавить детали наблюдения в проект. JSON
PrinceT

Или вы можете просто использовать мой профиль запуска, который я предоставил в своем ответе.
GrowSing

Да, я сделал это. Я проверяю с помощью этой команды dotnet watch run.
Акаш

Вы можете увидеть изменения в консоли .. когда вы пытаетесь запустить .. вы можете увидеть что-нибудь?
PrinceT

3

В соответствии с этим требованием нам нужно запустить ядро ​​.net, как и приложение Angular, автоматически загружая страницы и содержимое без встроенного и ручного обновления.

В течение 7 с лишним лет я работал в качестве разработчика .net, работая старшим ресурсом в компании-разработчике ASP.NET, и имел опыт, что автоматическая перезагрузка невозможна в основном проекте ASP.NET. Однако мы добились успеха, в нашем решении мы используем dotnet watch, который отслеживает исходные файлы и, если файл изменяется, закрывает приложение, которое он запустил, перестраивает и публикует проект, а затем перезапускает приложение, тогда нам просто нужно Обновите страницу вручную в браузере, чтобы получить изменения, внесенные в приложение, нам не требуется создавать или запускать проект.

Шаги, чтобы следовать, чтобы использовать часы asp.net:

1) Создание основного приложения .Net.

2) Откройте командное окно в папке вашего веб-проекта

3) Тип dotnet watch run

4) Откройте браузер и перейдите к API или странице

5) внести изменения в исходный код

6) Сохраните файл

7) Вернитесь в браузер и обновите вручную

8) Вы должны увидеть изменения, отраженные


Как это сделать в Visual Studio 2019?
Акаш

2

Вы можете использовать dotnet watch. А именно Документы

Я создал пользовательский профиль ланча, чтобы было проще запускать его в VS.

"Watch": {
  "executablePath": "dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchBrowser": false,
  "launchUrl": "http://localhost:5000/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

Используя это, не загружается автоматически в браузере, как Angular.
Акаш

Можете ли вы запустить проект Angular?
Акаш


2

запустить эту команду в консоли проекта

dotnet watch run

То же самое работает для визуального кода студии


1

Вы должны подумать трижды, прежде чем перейти к этой опции. (1) Это ресурсоемкий. Поскольку это требует автоматической сборки, в качестве предварительной операции, измененного проекта, а иногда и всего решения. (Представьте себе решение от Asp.net от среднего до огромного, составленное из множества проектов, создавайте для каждой выполненной модификации !! сколько времени осталось для программирования ??? !!) (2), как вы знаете, перезагрузка страницы потребляет много время для первого запуска после успешной сборки !! ... Следовательно, время, которое вы хотите извлечь из этой опции, будет потрачено впустую несколько, особенно на языках программирования на основе CLR (например, .NET Core). И, наконец, (3) ожидается, что вашему проекту потребуется разработка тестовых образцов, которые можно вводить автоматически для лучшего процесса автоматизации, представьте, насколько это сложно!

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

Если вы не согласны с моим предложением, я предлагаю разработать расширение для visual-studio, которое лучше перезагрузит целевую веб-страницу on-build, чем on-save-changesсобытие. Далее Ctrl + bсделаем работу!

Когда начать?

Я разработал VSIX, который следит за папками для автоматической загрузки определенных сгенерированных файлов за пределы пользовательского интерфейса VS. проверьте исходный код, у вас будет представление об управлении файлами проекта. он вращается в API EnvDTE, пожалуйста, посмотрите на этот кусок кода.

Также, проверьте исходный проект отсюда

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.