.NET Core 1.0应用程序不能在.NET Core 1.1系统上运行

我有一个程序,我试图迁移到.NET标准/核心。 库的命令行接口是使用netcoreapp1.0的目标框架构建的。 我尝试将它发送给只安装了.NET Core 1.1的测试人员(使用不同的操作系统)。 该程序不会运行,并给出错误:

The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found.
- Check application dependencies and target a framework version installed at:
  /usr/share/dotnet/shared/Microsoft.NETCore.App
- The following versions are installed:
  1.1.0
- Alternatively, install the framework version '1.0.1'.

这是预期的吗? 据我了解,每个核心/标准版本都是前一版本的严格超集。 因此,我预计一个针对1.0的程序仍然可以在1.1系统上运行,而不必针对每个安装版本进行多重定位。

更一般地说,我怎么设置,以便我不必担心后来只有更新版本的.NET Core无法运行该程序的用户。


你需要了解更多的概念。

  • 如果您正确使用dotnet publish则.NET Core应用程序将自成一体。 然后,在没有安装.NET Core的目标机器上(或者没有安装它的版本),应用程序可以毫无问题地运行。 根据您的描述,您可能会忘记这么做,或者您并未尝试发布此应用。

  • 如果您的意图只是将基于.NET Core 1.0.1的代码移动到另一台计算机上,并且该计算机只安装了1.1.0,那么您应该能够运行dotnet-install脚本来安装所需的运行时,

  • https://docs.microsoft.com/en-us/dotnet/articles/core/preview3/tools/dotnet-install-script

    由于您已经使用了Visual Studio 2017 RC,因此您应该知道.NET Core 1.0.x现在应该是1.0.3。 对1.0.0-1.0.2的支持已过期。


    你错过了一个global.json。 将一个添加到您的项目中,以便应用程序知道使用1.0.0运行时而不是1.1启动。

    链接地址: http://www.djcxy.com/p/94703.html

    上一篇: .NET Core 1.0 app won't run on .NET Core 1.1 system

    下一篇: Pass scope data into ng