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

时间:2018-07-19 08:08:56

标签: angular azure asp.net-core deployment publish

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

image

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

folder

在“客户端”应用中,我们有光盘文件夹,并且在以下文件中:

files

我尝试使用命令 dotnet AppServerPortal.dll 在本地站点上运行该应用程序。 但是,出现以下错误:

error

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

2 个答案:

答案 0 :(得分:0)

只需执行以下步骤:

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

如果您的应用程序正在运行,但是该应用程序的某些部分无法正常工作,就像我的情况一样,请执行以下操作: 更改angular.json中的anular的配置 放置这段代码,一切将正常工作:

"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
                        }
                    }

答案 1 :(得分:0)

这很难解决。我建议导航到Azure门户,选择您已创建的应用程序服务,然后在“开发工具”下选择“控制台”选项,然后在将显示在右侧的控制台中,默认值为D:\home\site\wwwroot输入dotnet“ nameOfYourDLL” .dll,然后按Enter。

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

这将尝试在Azure中运行您的应用程序,通常情况下,如果发生问题,您将获得非常有价值的日志。过去,它总是将我指向正确的位置,而不是是连接字符串问题,蓝色密钥保险库问题还是数据库初始化程序等。

您还可以在此blog

中了解有关如何部署角度和天蓝色应用程序的信息

enter image description here