Mat*_*ias 5 .net-core asp.net-core asp.net-core-webapi
tldnr:如何Microsoft.AspNetCore.App从升级2.2.0到2.2.2?在包管理器用户界面中已禁用该功能。
当我创建一个testproject时,我意识到它Microsoft.AspNetCore.App是version 2.2.2(最新版本),而在我的主要Api项目中则是2.2.0。
由于以下原因,我无法更新它
SDK隐式引用。要更新程序包,请更新程序包所属的SDK
我确实安装了SDK 2.2.104,其中应包含2.2.2(我喜欢Microsoft的版本号非常直观)
C:\Users\matthias>dotnet --list-sdks
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.402 [C:\Program Files\dotnet\sdk]
2.1.403 [C:\Program Files\dotnet\sdk]
2.1.503 [C:\Program Files\dotnet\sdk]
2.1.504 [C:\Program Files\dotnet\sdk]
2.1.600-preview-009472 [C:\Program Files\dotnet\sdk]
2.2.104 [C:\Program Files\dotnet\sdk]
Run Code Online (Sandbox Code Playgroud)
将所有内容更新为的正确方法是2.2.2什么?我可以在中设置该软件包的版本号csproj,而且看起来似乎还可以,但是我想这不是干净的方法。UI为什么会禁用它呢。
项目文件来自默认模板。
C:\Users\matthias>dotnet --list-sdks
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.402 [C:\Program Files\dotnet\sdk]
2.1.403 [C:\Program Files\dotnet\sdk]
2.1.503 [C:\Program Files\dotnet\sdk]
2.1.504 [C:\Program Files\dotnet\sdk]
2.1.600-preview-009472 [C:\Program Files\dotnet\sdk]
2.2.104 [C:\Program Files\dotnet\sdk]
Run Code Online (Sandbox Code Playgroud)
资料来源:https : //github.com/matthiaslischka/netcore222updateissue
更新:
我现在已经RuntimeFrameworkVersion 2.2.2像建议的ESG一样添加到了csproj中,现在我得到了这个奇怪的观点:
我用ILSpy检查了编译的DLL,它似乎仍然是2.2.0.0

我发布此内容是为了回应 Andy 的 GitHub bug,但为了进一步扩大影响力,将其重新发布到此处:
如果您使用的是 .NET Core,则更新补丁所需要做的唯一事情就是在运行应用程序的计算机(即您的服务器、开发盒等)上安装最新的修补运行时。
.NET Core 应用程序会自动前滚到与您的目标主要/次要对关联的最高补丁版本。可以使用设置禁用此行为,[appname].runtimeconfig.json但我们强烈建议您保留它,以确保您始终在最新的运行时上运行(包含所有已发布的安全修复程序)。
虽然我们建议您运行最新的补丁,但我们建议您不要更新您的应用程序以定位更高的补丁版本,因为如果目标计算机上不存在该补丁,您的应用程序将无法启动。补丁不应引入您需要更新才能依赖的 API,因此无需更新包引用。
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |