Вы можете добавить его в качестве шага перед сборкой в настройках проекта, но я думаю, что лучший способ - использовать пользовательские цели в вашем файле .csproj. Я использую Vue вместо того, чтобы реагировать. Это то, что я использую в моем .csproj, и вы можете сделать что-то подобное.
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="RunNpmBuild" Condition="'$(Configuration)' != 'ServerOnly'">
<Exec Command="yarn" WorkingDirectory="./www" />
<Exec Command="npm run build" WorkingDirectory="./www" />
</Target>
<Target Name="BeforeBuild" DependsOnTargets="RunNpmBuild">
</Target>
Обратите внимание, что у меня также есть дополнительная конфигурация сборки под названием «ServerOnly», основанная на конфигурации отладки, так что я могу отлаживать f5 только на сервере без необходимости запуска yarn или моей сборки npm.