Angular 和 .Net Core 项目 VS 2022:发生未处理的异常:项目 'Leon\AppData\Roaming\ASP.NET\https\<projectName>.p
Posted
技术标签:
【中文标题】Angular 和 .Net Core 项目 VS 2022:发生未处理的异常:项目 \'Leon\\AppData\\Roaming\\ASP.NET\\https\\<projectName>.pem\' 不存在【英文标题】:Angular and .Net Core Project VS 2022: An unhandled exception occurred: Project 'Leon\AppData\Roaming\ASP.NET\https\<projectName>.pem' does not existAngular 和 .Net Core 项目 VS 2022:发生未处理的异常:项目 'Leon\AppData\Roaming\ASP.NET\https\<projectName>.pem' 不存在 【发布时间】:2022-01-17 23:14:05 【问题描述】:您好,我正在构建一个 Angular/.Net Core 项目并按照 Microsoft 的建议创建项目,https://docs.microsoft.com/en-us/visualstudio/javascript/tutorial-asp-net-core-with-angular?view=vs-2022。我在我的笔记本电脑上创建了一个,它启动时没有问题,另一个在我的 PC 上失败了。关键的区别和我怀疑的问题是我的 PC 上的用户名有一个空格,“Eric Leon”,而在我的笔记本电脑上是“eric.leon”,但我不知道如何修复它。我搜索了文章并确保 angular.json 和 package.json 文件上的一切看起来都不错。 这是错误
错误日志不包含比输出更多的相关信息。 注意项目如何以Leon\AppData\...
而不是C:\users\Eric Leon\...
开头,这就是我怀疑用户名是问题的原因,因为它看起来像是在用户名中的空格处切割路径。我还查看了似乎正在构建路径的 aspnetcore-https.js,甚至将 baseFolder
替换为硬编码路径,其中包含名称 const baseFolder = 'C:/Users/Eric%20Leon/AppData/Roaming/ASP.NET\https'
中的 %20。
经过几个小时的研究,到目前为止我还没有成功,所以任何帮助都将不胜感激
【问题讨论】:
【参考方案1】:在 package.json 中指定了 .pem 文件和 .key 文件的起始路径。
"ng serve --ssl --ssl-cert %APPDATA%\\ASP.NET\\https..."
--ssl-cert 应该包含 *C:\Users* 并且 %APPDATA% 应该包含 username\APPDATA\Roaming 但在这种情况下 --ssl-cert 包括我的用户名(名字)的第一部分,而 %APPDATA% 从用户名的第二部分(姓氏)开始。解决方案是在 %APPDATA% 周围加上双引号,因为命令行工具只支持双引号并用反斜杠转义它们,因为它在 json 文件中。
所以"ng serve --ssl --ssl-cert \"%APPDATA%\"\\ASP.NET\\https..."
在此之前,我通过将文件放在 C 驱动器上的文件夹中并硬编码路径来解决此问题。
【讨论】:
以上是关于Angular 和 .Net Core 项目 VS 2022:发生未处理的异常:项目 'Leon\AppData\Roaming\ASP.NET\https\<projectName>.p的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2017 .NET Core 2.1 Angular 上的“npm run build -- --prod”错误
Visual Studio 2015 没有将 TypeScript 编译为 ASP.NET Core 项目的一部分?
更改 Angular 和 ASP.NET Core 项目中的默认身份路由
使用angular4和asp.net core 2 web api做个练习项目