簡體   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