Azure App Service升级dotnet核心

use*_*943 3 .net azure azure-web-sites .net-core

我的asp.net核心站点在发布后无法运行.经过一些故障排除后,我看到我的Azure应用服务上的dotnet版本仍然是1.0.0-rc3-004530.如何将其升级到1.1?

Sha*_*tin 6

回答

  1. 在项目的根目录中创建global.json文件.
  2. 将SDK设置为在计算机和Azure上安装的版本.

现在,如果您的应用在本地工作,它也可以远程工作.这是一个示例global.json文件.

{
    "sdk": { "version": "1.0.0-preview2-1-003177" }
}
Run Code Online (Sandbox Code Playgroud)

说明

dotnet --version命令不表示.NET Core Runtime版本.很难确定哪个版本的.NET Core SDK适用于哪个版本的.NET Core运行时.以下是对此的一些证据以及如何理解它的一些想法.

第一.登录Azure门户.然后去yourapp.scm.azurewebsites.net.单击Debug Console> PowerShell并运行以下命令:

PS> dir "D:\Program Files (x86)\dotnet\sdk" -name

1.0.0-preview1-002702
1.0.0-preview2-003121
1.0.0-preview2-003131
1.0.0-preview2-003156         <-- this is for .NET Core 1.0.3
1.0.0-preview2-1-003177       <-- this is for .NET Core 1.1
1.0.0-preview2.1-003155
1.0.0-preview3-004056
1.0.0-preview4-004233
1.0.0-rc3-004530              <-- this is also for .NET Core 1.1
Run Code Online (Sandbox Code Playgroud)

这是Azure中安装的.NET Core SDK版本的列表.列表中的最后一个是Azure默认使用的一个.所有版本都以1.0.0.

第二..NET Core下载页面上做一些研究.我们可以找到有关SDK版本如何匹配运行时版本的一些信息.这是当前的下载:

下载适用于Windows的.NET Core 1.1 SDK x86

它正在下载适用于Windows的.NET Core 1.1 SDK x86; 版本号是1.0.0-preview2-1-003177.(它也1.0.0-rc3-004530适用于.NET Core 1.1).

第三.从命令行或PowerShell中,比较这三个命令的输出.

PS> dotnet
PS> dotnet --info
PS> dotnet --version
Run Code Online (Sandbox Code Playgroud)

第一个命令显示有关您正在运行的.NET Core版本的最相关信息.其余部分详细介绍了SDK的确切版本.

总结这对您意味着什么?您无需升级Azure - 在Azure中,您已经在使用SDK for .NET Core 1.1.相反,您需要确保在Azure上使用与本地使用相同的SDK版本.我的回答告诉你如何做到这一点.