Linux 无法将 App 升级到 .net Core 1.0.1

Cannot upgrade App to .net Core 1.0.1 on Linux

在 project.json 中像这样将我的应用程序升级到版本 1.0.1 后:

"Microsoft.NETCore.App": {
  "type": "platform",
  "version": "1.0.1"
},

这在 Windows 下有效,但在 Linux 下无效。 在 Linux 下我得到这个错误:

Project BackendGems (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Project test (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found.
  - Check application dependencies and target a framework version installed at:
      /opt/dotnet_cli/shared/Microsoft.NETCore.App
  - The following versions are installed:
      1.0.0
  - Alternatively, install the framework version '1.0.1'.
SUMMARY: Total: 1 targets, Passed: 0, Failed: 1.

我尝试删除 nuget 缓存并确保我有相同的 SDK 版本 1.0.0-preview2-003121

可能有什么问题?

您在 project.json 上所做的更改会强制您的应用在 运行 时间版本 >=v1.0.1 上 运行 否则会失败。

dotnet restore 更新依赖项但不更新 运行时间。

因此,您只需按照错误消息所述在 /opt/dotnet_cli/shared/Microsoft.NETCore.App 中安装 1.0.1 运行time。

每个 linux 发行版在 .NET 站点上都有不同的安装说明,因此您可能会遇到类似 'apt-get install dotnet-dev-1.0.1'

的情况

但对于 Debian,我必须手动完成:

$ wget https://go.microsoft.com/fwlink/?LinkID=825887 -O dotnet-1.0.1.tar.gz

  • /opt/dotnet_cli/shared/Microsoft.NETCore.App
  • 恢复

tar zxvf dotnet-1.0.1.tar.gz -C /opt/dotnet_cli/

现在 dotnet run 按预期工作。

编辑:看起来 MS 正在更新下载页面,因此您会发现要下载的文件现在标记为 .NET Core binaries only(未提及 1.0.1)。但是文件还是一样