从.NET Core 1.1.1升级到.NET Core 1.1.2后,Azure上的ASP.NET Core网站无法启动502.5错误

Ste*_*son 11 web-applications azure .net-core asp.net-core .net-core-1.1

我有一个.NET Core Web应用程序,我将其部署为Azure Web App.

直到昨晚我应用Visual Studio 2017升级(v15.2)时,这一直工作得很好.

.net核心版本从1.1.1升级到1.1.2.当我部署到Azure时,网站无法启动502.5错误.

经过调查,我可以看到.NET Core 1.1.2未部署到Azure映像.

我无法将新框架安装到Web应用程序实例(可以理解,Program Files目录中的权限被拒绝).我无法通过nuget包管理器"降级",因为它报告的版本是"被项目阻止".我看不到在csproj文件中定义Microsoft.NETCore.App版本的方法,因为它似乎是由root <Project Sdk="Microsoft.NET.Sdk.Web">元素"自动"控制的.

我尝试过尝试自包含部署(使用Web应用程序发布框架),但也无法实现此功能.

没有等待将新版本部署到Azure(我找不到关于他们的日程安排的任何信息)是否有人对如何让Web应用程序再次运行有任何想法?

有没有办法强制它在1.1.1下运行?

Dav*_*bbo 14

更新5/12/2017:我们已加速将1.1.2和1.0.5部署到App Service,现在已经完成.因此,任何人都不再需要下面的解决方法.

原始解决方案

最好的解决方法是在.csproj文件中设置它:

<TargetFramework>netcoreapp1.1.1</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

而不是被设置为netcoreapp1.1.我们将在星期二之前将1.1.2部署到Azure App Service,此时不需要解决方法.

请注意,如果您将其设置为netcoreapp1.1.1,一旦1.1.2可用,它将自动前滚到该.所以设置它netcoreapp1.1.1并不会让你"陷入"那个版本.只要您使用可移植模式(即依赖于操作系统上的框架),情况就是如此.如果您使用独立并部署自己的框架,那么您将坚持使用它(但是您首先不会遇到此问题而且不需要这样做!).

  • @EdwardBrey当然,这里有一些学习.问题在于没有人意识到只是拥有新的VS会导致部署的位以新版本为目标,即使用户的文件完全相同.所以是的,我们搞砸了,我们下次确保避免这种情况. (5认同)
  • 尽管我喜欢闪亮的新功能和修复程序,但您认为将来可以在*之前推出Visual Studio更新*吗? (3认同)
  • 感谢您在这里回复,并且您承认这不是最佳选择. (2认同)

Gre*_*987 2

Visual Studio 2017 更新后我们遇到了同样的问题。

解决方法是在部署站点后在 Kudu 中编辑站点的 web.config。

在下面的条目--fx-version 1.1.1的参数值的开头添加aspNetCoresystem.webServer

例如 <aspNetCore processPath="%LAUNCHER_PATH%" arguments="--fx-version 1.1.1 PATH_TO_DLL" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>