Dotnet Watch с отладкой кода Visual Studio

сейчас мой компьютер очень медленный, а Visual Studio работает очень плохо, поэтому я решил попробовать Visual Studio Code для создания приложения ASP.NET Core. В одной из презентаций Microsoft я видел, как приложение ASP.NET Core запускается с помощью инструмента dotnet watch. Этот инструмент перекомпилирует код после некоторых мягких изменений (как в Visual Studio).

Итак, мой вопрос:

  1. Есть ли способ перекомпилировать код на лету в Visual Studio Code после небольшого изменения в режиме отладки?
  2. Есть ли способ поставить задачу перекомпилировать только один проект? У всего моего решения много проектов, и каждый раз компилировать его - просто плохая идея.

После того, как я попробую отладить приложение с помощью часов dotnet, произойдет сбой среды dotnet :(

Спасибо за помощь :)


person mersey    schedule 26.06.2017    source источник
comment
Вы приняли неверный ответ, см. Мой ответ здесь.   -  person daka    schedule 26.09.2019
comment
Ваше решение не позволит мне продолжить отладку, когда я внесу изменения в код. Я хотел иметь ту же ситуацию, что и в Visual Studio для Windows, где Visual Studio может перекомпилировать мой код на лету и позволяет мне продолжать выполнение при достижении точки останова.   -  person mersey    schedule 26.09.2019
comment
О, моя ошибка, я думал, что точки останова сработают.   -  person daka    schedule 27.09.2019


Ответы (1)


VS Code: отладчик Visual Studio Code не поддерживает функцию «Изменить и продолжить». Эта функция запрошена (см. https://github.com/OmniSharp/omnisharp-vscode/issues/490), однако в настоящее время нет планов по внедрению этого в VS Code.

dotnet-watch: если вы хотите ограничить количество файлов, которые отслеживает dotnet-watch, вы можете изменить свои ProjectReference в файле * .csproj.

<ProjectReference Include="..\Other\other.csproj" Watch="false" />

Это гарантирует, что dotnet-watch повторно запускает сборку только для файлов из текущего проекта, а не для файлов в проекте, на который он ссылается.

Это не, однако, предотвратит повторную компиляцию MSBuild ProjectReferences при создании новой сборки. MSBuild всегда будет пытаться перекомпилировать все ProjectReference, хотя повторная компиляция должна быть быстрой, если вы не меняли файлы. MSBuild использует кеширование, чтобы избежать повторного вызова компилятора C # без необходимости.

См. https://github.com/aspnet/DotNetTools/tree/rel/2.0.0-preview2/src/Microsoft.DotNet.Watcher.Tools#msbuild для получения дополнительных сведений о настройке dotnet-watch в файлах * .csproj.

person natemcmaster    schedule 09.07.2017
comment
Ваш ответ говорит мне, что сейчас очень сложно писать код на C # в vsc - перекомпиляция во время отладки - действительно хорошая функция, и это делает переписывание кода во время отладки очень быстрым. Грустные новости - person mersey; 11.07.2017