当前上下文中不存在名称“X509CertificateLoader”,编译.NET 9依赖

当前 VS studio2022并不支持 .net9, 也没有正式发布的版本能够支持.net9

cs 复制代码
<TargetFramework>net8.0-windows7.0</TargetFramework>

使用了 .NET 9 专属的新特性或库(如 net9.0 的目标框架),无法用 .NET 8 成功编译。.NET 9 的新语法、API 在 .NET 8 中 不存在。

解决方案:

使用VS Code,安装 .NET 9 SDK, 安装 .NET Extension Pack 对项目进行编译

1.安装VS Code

2.根据需求安装.NET 9 SDK

1) 下载对应版本的 SDK

.NET 9 SDK 下载

.NET API 查找,搜索找到依赖的版本,下载安装对应的版本

2) 验证安装

Windows终端输入以下命令

cs 复制代码
dotnet --list-sdks

// 输出安装的版本信息
8.0.400 [C:\Program Files\dotnet\sdk]
9.0.100-preview.7.24407.12 [C:\Program Files\dotnet\sdk]
9.0.300 [C:\Program Files\dotnet\sdk]

3.VS Code 安装扩展程序

  1. .NET Extension Pack
  2. .NET Install Tool
  3. C# Dev Kit

4.修改根目录下 global.json 文件的 .NET 版本(没有就直接创建)

cpp 复制代码
{
  "sdk": {
    "version": "9.0.100-preview.7.24407.12",
    "rollForward": "disable"
  }
}

5.重新编译项目

  1. 重启 VS Code
  2. dotnet --version 在 VS Code 中查看版本信息
  3. dotnet clean
  4. dotnet restore
  5. dotnet build

编译成功

相关推荐
yongui478341 小时前
C# 与三菱PLC通讯解决方案
开发语言·c#
jerryinwuhan3 小时前
RDD第二次练习
开发语言·c#
aini_lovee7 小时前
C# 快速搜索磁盘文件解决方案
开发语言·c#
派葛穆8 小时前
汇川PLC-Unity3d与汇川easy521plc进行Modbustcp通讯
unity·c#
游乐码9 小时前
C#List
开发语言·c#·list
Paine Zeng11 小时前
C# + SolidWorks 二次开发 -监听退出草图事件并自动执行逻辑
c#·solidworks二次开发·solidworks api
游乐码11 小时前
C#Dicitionary
算法·c#
SunnyDays101111 小时前
C# 实战:如何高效地将 HTML 转换为可编辑 Word 文档
c#·html转word
用户37215742613512 小时前
C# 实战:如何高效地将 HTML 转换为可编辑 Word 文档
c#
鱼干~12 小时前
【全栈知识点】全栈开发知识点
前端·人工智能·c#