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

时间:2017-05-11 12:25:54

标签: azure asp.net-core web-applications .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版本的方法,因为它似乎由根<Project Sdk="Microsoft.NET.Sdk.Web">元素“自动”控制。

我尝试过尝试自我部署(使用网络应用程序发布框架),但也无法使其正常工作。

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

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

3 个答案:

答案 0 :(得分:14)

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

原始解决方案

最佳解决方法是在.csproj文件中设置:

netcoreapp1.1

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

请注意,如果您将其设置为netcoreapp1.1.1,则一旦1.1.2可用,它将自动前滚至该值。因此,将其设置为while($row = mysqli_fetch_array($result)) {?> <br><input type="checkbox" name="categories_chk[<?= $row["cat_id"]; ?>]" value="<?= $row["cat_name"]; ?>"> <?= $row["cat_name"]; ?> <?php } 并不会让您“陷入困境”。到那个版本。只要您使用可移植模式(即依赖于操作系统上的框架),情况就是如此。如果您使用独立并部署自己的框架,那么您将坚持使用它(但是您首先不会遇到此问题而且不需要这样做!)。

答案 1 :(得分:2)

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

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

--fx-version 1.1.1下的aspNetCore条目的参数值开头添加system.webServer

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

答案 2 :(得分:1)

在他们开始将1.1.2部署到Web应用程序映像之前,我设法通过强制项目引用Microsoft.NETCore.App 1.1.1来解决这个问题。

编辑csproj文件:

<ItemGroup> <PackageReference Update="Microsoft.NETCore.App" Version="1.1.1" /> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" /> ... etc