我实际上有一个使用Angular 5(Angular CLI)的ASP.NET项目。
我的问题是,启动IIS Express时可以执行ng serve命令吗?
实际上,我必须打开一个cmd,执行ng serve,然后启动IIS。
如果有人对此有解决方案,非常感谢:)
答案 0 :(得分:1)
一种方法是在Visual Studio中利用build events。
构建后,您可以将命令authData
称为构建后事件。
答案 1 :(得分:0)
您将必须运行“ ng build”,然后从角度cli的“ dist”文件夹中将文件/文件夹部署到ISS中。
答案 2 :(得分:0)
1。就像adiii4的建议一样。 您可以将构建后事件称为替代方法。将ng serve命令复制到构建事件后文本框中。
2。要实现此目标:execute ng serve command when i start IIS Express
由于我们可以运行IIS express from command-line,因此可以在this issue之类的换行符中将这两个命令添加到构建后事件中。
3。此外,每次构建项目时都会运行构建后事件。(无论是调试还是发布模式) 我不确定这是否满足您的需求,我们可以通过右键单击Project => Unload Project => Edit xxx.csproj对其进行自定义。
例如:我们将在底部找到PostBuild目标,添加一个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>
更新:
当我们在构建后事件中添加一些内容时,目标“ PostBuild”将自动添加到xxx.csproj文件中(以下格式适用于asp.net核心网络应用)。
我们可以在构建引擎运行PostBuild目标之后添加如下所示的自定义脚本来执行另一个目标。对于您的情况,ngserve.bat用于ng服务,而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
。之后,每次我们构建解决方案或项目时,我们都可以查看有关构建过程的详细信息,这有助于进行故障排除。