.net - .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 会有帮助吗?它会出现我们在客户现场遇到的错误吗?
解决方案
推荐阅读
- symfony - 如何为 symfony 表单的 action 属性添加路径
- html - Bootstrap 4 在移动设备上没有响应,列相互堆叠
- ruby-on-rails - Rails 模型根据用户标志调用不同的类
- webview - xamarin 表单 WebView 中的 Cookie
- ios - 在 GPU 和 UIActivityIndicator 上使用 CoreImage
- perforce - 在 Perforce 中,如何将流中的文件移动到不同的仓库?
- netsuite - 创建发票后在客户记录中设置字段值
- android - 如何让recyclerview加载所有itemviews
- notepad++ - 记事本++中包含符号的单词前的新行
- c++ - 编写构造函数/析构函数是一种好习惯吗?