繁体   English   中英

无法将Asp.Net Core 2.0应用程序部署到Azure应用程序服务

[英]Can't Deploy Asp.Net Core 2.0 app to Azure app services

由于我的信誉点有限(因为我仍然是StackOverflow的新手),我无法在其他帖子上发表评论,因此我必须创建一个新问题。 但是,这似乎与发布.net-core-2.0 azure应用程序服务502.5错误中指示的问题不同。 我没有收到502.5错误,而是以下消息:

在此处输入图片说明

无论如何,我确实执行了另一篇文章中的步骤,但没有成功。 我仍然遇到上面显示的相同问题。 我什至完全删除了Asp.Net Core 1.1应用程序服务和相关的SQL数据库,然后重新创建了一个新主机来托管Asp.Net Core 2.0应用程序服务。 仍然没有成功。

是否有人对如何解决此问题有新的想法?

感谢您的反馈意见。

更新:

我收到以下错误:

SqlException:用户'null'登录失败。 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConne‌ctionPoolIdentity身份,SqlConnectionString connectionOptions,对象providerInfo,bool redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,bool applyTransientFaultHandling)

我刚刚将Azure Web应用程序从ASP.Net Core 1迁移到了2.0。 它还使用Azure SQL。 有趣的是,它不会像您遇到的那样引发任何与SQL相关的错误。 以下是一些希望对您有所帮助的注意事项:

  1. 使用“工具| Nuget程序包管理器”将所有组件更新为最新的2.0版本,包括ASP.Net Core和EF Core。

  2. 修复更新后显示的错误。 只需遵循Visual Studio的建议即可轻松修复某些问题。 有些可能比较棘手,需要大量的谷歌搜索和研究。 需要注意的关键地方如下所示:

  3. 在Program.cs中:

     public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) { return WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { var env = hostingContext.HostingEnvironment; config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true); config.AddEnvironmentVariables(); }) .ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); logging.AddConsole(); logging.AddDebug(); }) .UseSetting("detailErrors", "true") .UseStartup<Startup>() .UseSetting("DesignTime", "true") .CaptureStartupErrors(true) .Build(); } 
  4. 启动构造函数变为:

     public IConfiguration Configuration { get; } public Startup(IConfiguration configuration) { Configuration = configuration; } 

    在ConfigureServices方法中,

      // authentication cookie services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.LoginPath = "/"; //new Microsoft.AspNetCore.Http.PathString("/"); options.AccessDeniedPath = "/"; //new Microsoft.AspNetCore.Http.PathString("/"); }); // Add EntityFramework's Identity support. services.AddEntityFrameworkSqlServer(); // Add ApplicationDbContext. services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]) ); 

    在Configure方法中,我为服务器端调试添加了此代码:

      public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseDatabaseErrorPage(); app.UseBrowserLink(); } 
  5. 在Azure Web门户上,添加一个新的设置键/值对,Hosting:Environment Development:

注意:这是出于调试目的(主要是服务器端),可以从生产版本中删除。

  1. 发布期间,选中此框以删除目标位置的其他文件:

这是我升级到ASP.Net Core 2.0时的经验教训。 如果您再次从原始项目开始,则遵循上面提到的一两点,可能不会出现SQL错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM