发布 ASP.NET 核心 2 Angular 6 SPA 模板应用程序

Publishing ASP.NET Core 2 Angular 6 SPA Template Application

我正在 DotNet 核心 2.1 中开发一个应用程序,其中包含一个 angular 模板。我完成了演示,我想切换到生产模式,以便我可以将文件上传到 azure。在我将文件上传到服务器之前,我想 运行 本地站点,以确保一切正常。 文件结构如下:

.

我遵循了本教程:https://medium.com/@balramchavan/deploy-angular-asp-net-51021afd5ab3,但没有太大帮助。 执行教程中的命令后,我在发布文件夹中有以下结构:

在客户端应用程序中我们有光盘文件夹,里面有以下文件:

我尝试 运行 使用命令 dotnet AppServerPortal.dll 本地站点上的应用程序 但是,我收到以下错误:

.

如果有人知道问题出在哪里,我想逐步解决问题。非常感谢您。

只需按照以下步骤操作:

1. Open ClientApp folder and run CMD
2. ng build --prod
3. npm i -g http-server --save
4. http-server ./dist

如果您的应用程序是 运行,但应用程序的某些部分不起作用,就像我的情况一样,请执行以下操作: 更改 anular inside 的配置 angular.json 输入这段代码,一切都会正常工作:

"configurations": {
                        "production": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.prod.ts"
                                }
                            ],
                            "optimization":true,
                                           "outputHashing":"none",
                                           "sourceMap":false,
                                           "extractCss":false,
                                           "namedChunks":false,
                                           "aot":true,
                                           "extractLicenses":true,
                                           "vendorChunk":false,
                                           "buildOptimizer":false
                        }
                    }

这很难解决。我建议导航到 Azure 门户,选择您创建的应用程序服务,然后选择 "Development Tools" 下的 "Console" 选项,然后在右侧显示的控制台中,应该默认为 D:\home\site\wwwroot 输入 dotnet "nameOfYourDLL".dll 并回车。

如果您不确定,只需输入ls查看目录的所有内容,然后找到dll名称。

这将尝试 运行 您在 Azure 中的应用程序,如果出现问题,您通常会获得非常有价值的日志。在过去,它总是将我指向正确的位置,而不是连接字符串问题或 Azure Key Vault 问题,或数据库初始化程序等。

您还可以在此 blog

中阅读有关如何部署 angular 和 azure 应用程序的信息