安装.Net 6 SDK是否会影响构建服务器上原有.Net 5应用的构建?
问题解答
在同一台设备上同时安装.NET 5和.NET 6 SDK不会出现你此前遇到的.NET Framework 4.x版本的兼容问题。
.NET 5/6属于.NET Core的后续迭代版本,和旧版.NET Framework的高版本覆盖低版本的设计逻辑完全不同,采用的是独立侧载安装机制,具体说明如下:
- 不同版本的.NET 5+ SDK彼此完全独立,安装.NET 6 SDK不会修改、替换.NET 5 SDK的任何程序集、配置文件,两个版本SDK可以互不干扰地共存。
- 构建应用时,系统默认会调用已安装的最高版本SDK,但所有高版本SDK都完全支持向下构建低目标框架的应用。如果需要完全锁定构建所用的SDK版本,可以在项目根目录添加
global.json文件指定版本,示例配置如下:
{ "sdk": { "version": "5.0.408", "rollForward": "disable" } }
- 针对目标框架为.NET 5的应用,构建过程只会调用对应.NET 5的目标包和运行时库,不会用到.NET 6的任何相关组件,最终生成的构建产物和仅安装.NET 5 SDK环境下的输出完全一致,部署到未安装.NET 6的服务器不会出现任何兼容性异常。
如果需要确认环境中的SDK安装情况,可以执行dotnet --list-sdks命令查看所有已安装的SDK版本,确认.NET 5 SDK存在即可。
内容的提问来源于stack exchange,提问作者Vaccano
相关产品推荐
相关产品推荐

