Да, вы можете сделать это, и есть встроенная поддержка, с на этой странице документа , выполните в командной строке следующее:
dotnet new angular
Затем в созданной для вас папке ClientApp выполните:
npm install
И после этого вернитесь в исходную папку, чтобы создать и запустить приложение:
dotnet build
dotnet run
После этого у вас будет один хост, который будет обслуживать как вашего углового клиента, так и ваш бэкэнд API, вы можете использовать API, например ::
http://localhost:5000/api/sampledata/weatherforecasts
И клиент будет обслуживаться по любому другому маршруту, который не соответствует контроллеру MVC, например ::
http://localhost:5000
То, что происходит, довольно просто, это в основном приложение MVC с ядром dotnet, которое обслуживает угловое приложение из действия контроллера по умолчанию (/home/index). Существует второй контроллер который имеет действия API.
Edit:
Начиная с последнего шаблона, Angular-файлы обслуживаются из промежуточного программного обеспечения SPA, которое по умолчанию добавляется после промежуточного программного обеспечения MVC. Таким образом, вы сначала нажмете на контроллер API, который добавлен как часть шаблона (и любые другие контроллеры MVC, которые вы решите добавить). Затем вы нажмете на промежуточное ПО SPA, которое просто обслуживает статические файлы Angular.
Есть способы настроить этот процесс (например, для обслуживания нескольких различных SPA), вы можете просмотреть исходный код, который добавляет промежуточное программное обеспечение здесь с помощью вызова здесь , вы могли бы затем переопределите файловый провайдер, который будет выбран здесь .