首页 > 解决方案 > .NET Core 运行时和 SDK 版本 - 针对特定的运行时版本?

问题描述

我们最近在安装了 .NET Core 2.1.23 运行时的客户站点收到以下错误。通过安装 .NET Core 2.1.25 运行时可以轻松解决。

> dotnet .\OurApp.Web.dll    
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App, version '2.1.25' was not found.
 - The following versions are installed:
    2.1.23 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

指定无法找到兼容框架版本的错误消息

由于上述错误,我们已升级到 .NET Core 3.1。

我们非常想指定我们要求客户安装的 .NET Core 运行时的最低版本。然后我们将构建未来的版本以使用该运行时版本。我们不想担心安装在不同开发机器(甚至构建机器)上的 VS/.NET/etc 的确切版本。

我们知道我们可以在 global.json 中修复 .NET Core SDK 版本。然而,rollForward=disable 的限制似乎过于严格(例如,在更新删除 3.1.409 SDK 并安装 3.1.410 之前,修复 3.1.409 是好的)。似乎我们需要 rollForward=disable,因为文档中的示例表有一行,其中只有 SDK 的次要版本发生了变化(2.2.101 -> 2.2.102),但运行时也发生了变化(2.2.0 -> 2.2. 1)。

我是不是误会了什么?我们应该如何着手确保我们可以构建将针对特定运行时版本运行的 DLL?

设置 RuntimeFrameworkVersion 会有帮助吗?它会出现我们在客户现场遇到的错误吗?

标签: .net.net-coreasp.net-core-3.1

解决方案


推荐阅读