在Azure上从角度4更新到5时部署出错

问题描述 投票:0回答:1

我,正在使用visual studio asp.net core 2.0中的角度模板。然后我,更新角4到角5 http://www.talkingdotnet.com/upgrade-angular-4-app-angular-5-visual-studio-2017/。在本地机器上一切正常。我正在使用visual studio发布方法部署到Azure。应用程序已成功部署。但是当浏览页面时出现错误

不应在已部署的应用程序中启用开发环境,因为它可能导致向最终用户显示异常的敏感信息。对于本地调试,可以通过将ASPNETCORE_ENVIRONMENT环境变量设置为Development并重新启动应用程序来启用开发环境。

在visual studio项目中,web.config文件不存在。但是,在已发布的文件中,我可以在Azure位置看到web.config文件。所以我在web.config文件中编辑了以下添加的代码

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
<environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
      </environmentVariables>s
  </system.webServer>
</configuration>
<!--ProjectGuid: 0271f403-40b1-4744-b526-d843041f247f-->

这解决了我上面的错误。但是在found error下面创建了一个新的错误

不会根据web.config文件代码创建日志文件

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />

从其他链接中找到一些解决方案,编辑startup.cs文件然后添加

services.AddApplicationInsightsTelemetry(Configuration);

if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
                {
                    HotModuleReplacement = true
                });
            }
            else
            {
                app.UseDeveloperExceptionPage();
                app.UseExceptionHandler("/Home/Error");
            }

用AngularCompilerPlugin替换所有出现的AotPlugin并添加

const zone: NgZone = moduleRef.injector.get(NgZone);

在webpack.config.js中。

部署不适合我。任何人都可以让我知道如何解决这个问题。我,我试图从过去1天解决这个问题。我已经更新到角度5角度模板从视觉部署工作正常。

c# asp.net-mvc angular azure asp.net-core
1个回答
0
投票

从Angular 4更新到5后,我在部署时遇到类似的问题。但根据我的问题,它引导我改变一些事情。

1.在startup.cs中注释掉HMR

 if (env.IsDevelopment()){
      // app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
     //  {
     //    HotModuleReplacement = true
     //  });
    }

2.在Index.cshtml中禁用SSR。

<app>loading..<app>

注意:由于这些问题,官方团队提出了角度5的新模板。

© www.soinside.com 2019 - 2024. All rights reserved.