无法在asp.net core项目中的子文件夹ClientApp中的angular 8.0应用程序中停在任何断点处。

12 浏览
0 Comments

无法在asp.net core项目中的子文件夹ClientApp中的angular 8.0应用程序中停在任何断点处。

无法在包含在ClientApp子文件夹中的带有Angular 8.0应用程序的asp.net core项目中的任何断点处停止。文件夹结构如下:

https://i.stack.imgur.com/SIMcy.png

我想要设置断点的应用程序位于clientapp\apps\microsympan\app\src\app\app.component.ts中。

如果我使用Visual Studio Code运行,并设置launch.json为:

"webRoot": "${workspaceFolder}/apps/microsympan/app"

我可以设置断点并命中。

在Visual Studio中,我已经进行了以下设置:

1)在Startup.cs中:

app.UseSpa(spa => {
        spa.Options.SourcePath = "ClientApp/apps/microsympan/app";
        if (env.IsDevelopment()) { spa.UseAngularCliServer(npmScript: "start microsympan") }
      });

2)在csproj中:

clientapp\apps\microsympan\app

但是没有成功。除非我在Chrome中设置断点,然后它会命中并在Visual Studio中显示一个文件副本,但我无法在Visual Studio中设置断点并命中。

这是一个错误/缺少配置变量还是有解决办法?

提前感谢。

0
0 Comments

无法在ClientApp文件夹中的带有Angular 8.0应用程序的asp.net core项目中停在任何断点的原因是需要设置Visual Studio以调试TS代码。默认情况下,Visual Studio不会为您启用调试TS代码的功能。

解决方法是在项目中进行一些配置:

1. 配置tsconfig.json文件的source maps。可以通过在Solution Explorer中右键单击项目,然后选择Add > New Item > Web > Scripts > TypeScript JSON Configuration File来添加tsconfig.json文件。然后,在tsconfig.json文件中添加以下内容:

{

"compilerOptions": {

"noImplicitAny": false,

"noEmitOnError": true,

"removeComments": false,

"sourceMap": true,

"target": "es5"

},

"exclude": [

"node_modules",

"wwwroot"

]

}

2. 在项目属性中配置source map设置。可以通过右键单击项目,然后选择Project > Properties > TypeScript Build > Debugging来配置source map设置。可用的项目设置包括:

- Generate source maps:生成对应的.map文件。

- Specify root directory of source maps:指定调试器应该在哪里找到.map文件。

- Specify root directory of TypeScript files:指定调试器应该在哪里找到TypeScript文件。

如果以上方法无法解决问题,还可以尝试使用Visual Studio Code或Angular IDE进行调试。

要在asp.net core项目的ClientApp文件夹中的Angular 8.0应用程序中停在断点,需要进行一些配置,包括设置tsconfig.json文件的source maps和在项目属性中配置source map设置。如果仍然无法解决问题,可以尝试使用其他工具进行调试。

0