pix*_*its 9 .net-core asp.net-core-1.0 asp.net-core-2.1
如果我已经安装了.NET Core Runtime的最新版本(截至目前,该版本是2.2.3):
https://dotnet.microsoft.com/download/dotnet-core/2.2
该安装是否与.NET Core的先前版本向后兼容?
例如,上述安装是否与针对以下应用的应用兼容:
我意识到.NET运行时可以并排安装。但是,这不能回答我的问题。2.2版的安装是否向后兼容以前的版本,从而不需要额外的运行时?
pix*_*its 12
是。通过安装.NET Core Runtime 2.2.3,您可以运行针对netcoreapp2.0,netcoreapp2.1和netcoreapp2.2的应用程序,而无需安装其他运行时。
微软:
.... NET Core运行时更新在主要版本“ band”(例如1.x和2.x)中兼容。
换句话说:(同一主要版本中的次要更新是向后兼容的)
微软:
此外,.NET Core SDK的较新版本通常保持以兼容的方式构建针对运行时早期版本的应用程序的能力
换句话说:(最新的SDK可以定位以前的运行时)
微软:
通常,您只需要应用程序所需的运行时的最新SDK和最新补丁程序版本。
换句话说:(通常来说,您只需要安装最新的SDK /运行时)
微软:
随着时间的流逝,当您安装.NET Core运行时和SDK的更新版本时,可能要从计算机中删除过时的.NET Core版本。删除运行时的较旧版本可能会更改选择运行共享框架应用程序的运行时
换句话说:(随着时间的推移并排安装其他SDK /运行时,您应该偶尔删除较旧的版本,而采用最新版本)
来源:https : //docs.microsoft.com/zh-cn/dotnet/core/versions/remove-runtime-sdk-versions?tabs=windows
根据文档:
“ .NET Core 2.1”是指.NET Core运行时版本号。.NET Core Runtime具有主要/次要/修补程序版本控制方法,该方法遵循语义版本控制。
换句话说,.NET Core运行时版本遵循语义版本控制方案:
[主要]。[次要]。[补丁]
哪里:
因此,以上问题的答案基于语义版本控制:
基于这种理解,构建/发布/还原.NET Core应用程序时,它们将针对主要发行版和功能集,如运行时名称中的主要/次要版本号所示。所以,netcoreapp2.2是向后兼容netcoreapp2.1,这又是向后兼容netcoreapp2.0。但是所有都与netcoreapp1.x或netcoreapp3.x不兼容。
通过安装.NET Core 2.1.5运行时,并假设依赖于框架的发布部署,您将能够运行针对以下应用程序:
但不是:
如果安装了多个运行时,则根据安装了最高补丁程序的最新运行时来选择确切的运行时。
该SDK不基于语义版本控制。但是,每个SDK都针对最大的.NET Core运行时,并支持其之前的每个版本。
这意味着,如果要针对多个运行时进行构建,则无需在构建服务器上安装多个SDK(即使可以)。该SDK已经包含了所有必要的运行时对当前版本(或任何早期版本)构建的应用程序外的开箱。例如,如果安装.NET Core 2.2.105 SDK,则可以为netcoreapp1.0,netcoreapp2.0,netcoreapp2.1或netcoreapp2.2进行构建。但是您不能为.NET Core 2.3或3.0进行构建。
一个例子
假设我有一个构建服务器,该服务器安装了最新的.NET Core SDK(SDK 2.2.105-2.2.3 Runtime)。
虽然已安装SDK 2.2.105,但我可能想构建和发布.NET Core 2.1应用程序:
dotnet publish
/p:Configuration=Release -r win-x64 --self-contained false
/p:IsWebConfigTransformDisabled=true --framework netcoreapp2.1
/p:DebugSymbols=false /p:DebugType=None
Run Code Online (Sandbox Code Playgroud)
/p:Configuration=Release -配置发布-r win-x64 -目标Windows部署(而非便携式)--self-contained false -依赖框架的部署(需要在主机上安装运行时)/p:IsWebConfigTransformDisabled=true -不要转换web.config以避免Visual Studio生成的默认web.config错误(从2.1迁移到2.2时可能需要)--framework netcoreapp2.1 -明确地针对运行时框架/p:DebugSymbols=false /p:DebugType=None -禁用.PDB文件该版本可以安装在具有最新运行时.NET Core运行时+主机捆绑包2.2.3的生产服务器上-不需要其他运行时(或SDK)
希望这对别人有帮助
| 归档时间: |
|
| 查看次数: |
2430 次 |
| 最近记录: |