1.就像 adiii4 建议的那样。
您可以调用 post-build-event 作为替代方式。将 ng serve 命令复制到构建后事件文本框中。
2.实现这个目标:execute ng serve command when i start IIS Express
既然我们可以运行IIS express from command-line,你可以在post-build-event中添加这两个命令,比如this issue。
3.另外,每次构建项目时都会运行一个构建后事件。(无论是调试还是发布模式)
我不确定这是否满足您的需求,我们可以通过右键单击 Project=>Unload Project=>Edit xxx.csproj 对其进行自定义。
例如:我们会在底部找到 PostBuild Target,添加 Condition=" '$(Configuration)' == 'Debug' " 可以帮助控制 only in debug mode 执行 ng serve 命令并启动 IIS Express,如下所示:
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)'=='Debug'">
<Exec Command="here commad1:call test.exe
here command2:xxx.exe xxx" />
</Target>
更新:
当我们在 post-build-event 中添加内容时,Target "PostBuild" 将自动添加到 xxx.csproj 文件中(以下格式适用于 asp.net core web app)。
在构建引擎运行 PostBuild 目标之后,我们可以添加如下所示的自定义脚本来执行另一个目标。对于您的情况,ngserve.bat 用于 ng serve,而 startIIS.bat 用于启动 IIS。
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="call ngserve.bat" />
</Target>
<Target Name="StartIIS" AfterTargets="PostBuild">
<Exec Command="call startIIS.bat"/>
</Target>
另外:在VS中,我们可以go Tools=>options=>Projects and solutions=>Build and run到change the msbuild project build output verbosity到detailed。之后,每次构建解决方案或项目时,我们都可以看到有关构建过程的详细信息,这有助于故障排除。