无法在asp.net core项目中的子文件夹ClientApp中的angular 8.0应用程序中停在任何断点处。
无法在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中设置断点并命中。
这是一个错误/缺少配置变量还是有解决办法?
提前感谢。
无法在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设置。如果仍然无法解决问题,可以尝试使用其他工具进行调试。