У меня есть проект ASP.NET Core 5, который в качестве основной функции запускает типичный веб-проект ASP.NET. Поэтому обычно я запускаю его с dotnet watch run
, и сервер постоянно работает в фоновом режиме. Но я также пытаюсь добавить способ выполнения консольных команд в тот же исполняемый файл, который повторно использует код из серверной версии, но не запускает фактический WebHost из ASP.NET. Версия командной строки должна работать либо с уже запущенной серверной версией, либо полностью автономно.
Теперь проблема в том, что я совершенно очевидно делаю что-то, для чего dotnet run
не предназначался, потому что сборка чрезвычайно нестабильна и довольно часто завершается сбоем с бесполезными ошибками (например, ошибками доступа к файлу, . Имеет смысл снова запустить dotnet run
, пока он все еще работающий в фоновом режиме, не поддерживается, поэтому я пытаюсь найти другой способ сделать это.
Все это работает внутри Docker, хотя это, вероятно, ничего не меняет для моей конкретной проблемы. Я использую VS Code, поэтому конкретные решения Visual Studio мне не подходят, они должны работать только с CLI dotnet.
Что я хочу сделать, так это иметь dotnet watch run
в фоновом режиме во время разработки и способ просто выполнить двоичный файл, который он построил отдельно, не запуская одновременную сборку, которая приводит к проблемам. По крайней мере, насколько я могу судить, это должно избежать проблем, с которыми я столкнулся, если я здесь ошибаюсь и одновременный запуск dotnet run
или dotnet watch run
не должен вызывать проблем со сборкой, пожалуйста, поправьте меня здесь. Я предполагаю, что запуск отдельного dotnet build
столкнется с теми же проблемами, и я не нашел ничего в документации CLI dotnet, которая подходила бы для моего варианта использования.
Как я могу безопасно запустить свой проект в разработке во второй раз, пока он все еще работает через dotnet watch run
в фоновом режиме?