.net core 无法在Linux上将应用升级到.net Core 1.0.1

.net core 无法在Linux上将应用升级到.net Core 1.0.1,.net-core,.net Core,在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

在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上运行,否则将失败

dotnetrestore会更新依赖项,但不会更新运行时

因此,正如错误消息所述,您只需在/opt/dotnet_cli/shared/Microsoft.NETCore.App中安装1.0.1运行时

每个linux发行版在.NET站点上都有不同的安装说明,因此您可以执行类似“apt get install dotnet-dev-1.0.1”这样的操作

但对于Debian,我必须手动操作:

从中获取链接并下载仅限v1.0.1版的.NET核心二进制文件 $wgethttps://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运行正如预期的那样


编辑:看起来微软现在正在更新下载页面,所以你会发现要下载的文件现在标记为.NET核心二进制文件,没有提到1.0.1。但是文件仍然是相同的。

您对project.json所做的更改将强制应用程序在运行时版本>=v1.0.1上运行,否则将失败

dotnetrestore会更新依赖项,但不会更新运行时

因此,正如错误消息所述,您只需在/opt/dotnet_cli/shared/Microsoft.NETCore.App中安装1.0.1运行时

每个linux发行版在.NET站点上都有不同的安装说明,因此您可以执行类似“apt get install dotnet-dev-1.0.1”这样的操作

但对于Debian,我必须手动操作:

从中获取链接并下载仅限v1.0.1版的.NET核心二进制文件 $wgethttps://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运行正如预期的那样


编辑:看起来微软现在正在更新下载页面,所以你会发现要下载的文件现在标记为.NET核心二进制文件,没有提到1.0.1。但文件仍然是原来的。

可能就是这样。对于我的发行版Gentoo,我还没有合适的运行时。但是,我不知道CLI也有自己的主机运行时。我认为这很奇怪,因为.NETCore声称,即使运行时部分也只是作为依赖项进行安装。例如,请参见~/.nuget/packages/Microsoft.NETCore.App/。但是,此文件夹中似乎没有二进制文件。您需要为此编译应用程序。查看文档中的自包含应用程序。可能就是这样。对于我的发行版Gentoo,我还没有合适的运行时。但是,我不知道CLI也有自己的主机运行时。我认为这很奇怪,因为.NETCore声称,即使运行时部分也只是作为依赖项进行安装。例如,请参见~/.nuget/packages/Microsoft.NETCore.App/。但是,此文件夹中似乎没有二进制文件。您需要为此编译应用程序。有关自包含应用程序,请参见文档。