在Visual Studio中的ASP.Net项目中使用Angular的ng serve / ng build --watch

时间:2018-03-04 20:55:18

标签: asp.net-mvc angular visual-studio

我正在尝试使用tutorial将Angular CLI设置为ASP.Net MVC项目。

完成所有描述的步骤后,我可以成功运行我的项目,但问题是,每次进行任何更改时都必须重建项目,这非常烦人。

根据教程,Angular的构建命令由.csproj文件的以下脚本处理:

<Target Name="NgDebug" BeforeTargets="Build" Condition="'$(Configuration)' == 'Debug'">
  <Exec WorkingDirectory="$(ProjectDir)HelloAngular" Command="ng build -ec" />
</Target>

我尝试用'ng build --watch'和'ng serve'替换'ng build',但它们都没有用。构建只是挂起在以下步骤:

------ Build started: Project: Properties Web, Configuration: Debug Any CPU ------

除此之外,我试图在TS Config文件中将'CompileOnSave'设置为'true',但这个也没有帮助。

我使用的是Visual Studio 2017,以及Node,NPM和Angular CLi的所有最新版本。

欢迎任何建议。提前谢谢。

3 个答案:

答案 0 :(得分:1)

我假设您不希望在C#代码更改时就重新构建整个angular应用程序,但是您要监视Angular应用程序中的更改以自动重新构建。

要实现此目的,您必须在单独的终端(cmd或Gitbash)中运行 ng build --watch --ec 命令。这将为您监视Angular应用程序中的更改。

此外,您还需要在构建配置文件中删除Target NgDebug,以防止每次重新构建C#代码时Visual Studio都重新构建Angular App。

答案 1 :(得分:0)

请使用ng build --watch --ec它为我工作。

答案 2 :(得分:0)

如果您在Exec中将其用作构建目标的一部分,则在--watch上使用ng build标志将不起作用,因为它使进程保持打开状态以监视文件更改为Angular项目。出于相同的原因,使用ng serve将挂起构建。

按照Tai Le的建议,您需要在单独的命令窗口中运行这些正在进行的过程,或者坚持重建更改,以使VS可以通过包含在您的构建目标中来为您处理csproj文件。