【C#程序员入门AI】环境一键搭建:.NET 8+AI开发环境(Semantic Kernel/ML.NET/ONNX Runtime)配置

文章目录

      • [🚀 开篇唠两句](#🚀 开篇唠两句)
      • 一、先搞懂:我们要搭啥?(2026最新版)
      • [二、第一步:安装.NET 8 SDK(地基先打好)](#二、第一步:安装.NET 8 SDK(地基先打好))
        • [1. 下载安装(2026最新版)](#1. 下载安装(2026最新版))
        • [2. 可选:安装Visual Studio 2022(推荐)](#2. 可选:安装Visual Studio 2022(推荐))
      • [三、第二步:搭建Semantic Kernel环境(LLM开发核心)](#三、第二步:搭建Semantic Kernel环境(LLM开发核心))
        • [1. 创建SK项目(控制台版,最简单)](#1. 创建SK项目(控制台版,最简单))
        • [2. 安装OpenAI .NET SDK(调用云端大模型)](#2. 安装OpenAI .NET SDK(调用云端大模型))
        • [3. 安装向量库SDK(RAG必备)](#3. 安装向量库SDK(RAG必备))
        • [4. 快速测试:10行代码调用GPT-4o](#4. 快速测试:10行代码调用GPT-4o)
      • 四、第三步:搭建ML.NET环境(传统ML开发)
        • [1. 安装ML.NET NuGet包](#1. 安装ML.NET NuGet包)
        • [2. 可选:安装ML.NET Model Builder(Visual Studio专用)](#2. 可选:安装ML.NET Model Builder(Visual Studio专用))
        • [3. 快速测试:ML.NET Hello World(鸢尾花分类)](#3. 快速测试:ML.NET Hello World(鸢尾花分类))
      • [五、第四步:搭建ONNX Runtime环境(本地模型部署)](#五、第四步:搭建ONNX Runtime环境(本地模型部署))
        • [1. 安装ONNX Runtime NuGet包](#1. 安装ONNX Runtime NuGet包)
        • [2. 快速测试:运行ResNet50图像分类](#2. 快速测试:运行ResNet50图像分类)
      • 六、第五步:可选安装Ollama(本地大模型神器)
        • [1. 下载安装Ollama](#1. 下载安装Ollama)
        • [2. 运行本地大模型(Llama 3.2)](#2. 运行本地大模型(Llama 3.2))
        • 3. C#调用Ollama(用SK)
      • [七、2026年C# AI环境避坑指南(少走弯路)](# AI环境避坑指南(少走弯路))
      • [🎯 结尾总结](#🎯 结尾总结)
      • [💬 互动一下](#💬 互动一下)

目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步。想要系统学习AI知识的朋友可以看看我的教程http://blog.csdn.net/jiangjunshow,教程通俗易懂,风趣幽默,从深度学习基础原理到各领域实战应用都有讲解。

🚀 开篇唠两句

各位C#老铁,上一篇我们画好了2026年C# AI的路线图,今天直接开干------环境一键搭建

C# AI环境搭建主打一个简单、干净、一步到位。这篇用大白话+复制粘贴级命令,带你把.NET 8 + Semantic Kernel + ML.NET + ONNX Runtime 全套AI开发环境搭好,10分钟搞定,直接开写AI代码!


一、先搞懂:我们要搭啥?(2026最新版)

一句话:一套能跑LLM、传统ML、本地模型的C# AI全能环境

核心三件套(必装):

  • .NET 8 SDK:地基,所有C# AI开发的基础
  • Semantic Kernel (SK):大模型调度神器,管LLM、RAG、Agent
  • ML.NET:C#原生机器学习库,做分类、回归、异常检测
  • ONNX Runtime:本地模型运行时,跑Llama、ResNet等预训练模型
  • Ollama(可选):本地大模型管理器,一键跑Llama 3.2、Phi-4

二、第一步:安装.NET 8 SDK(地基先打好)

1. 下载安装(2026最新版)
bash 复制代码
dotnet --version

出现 8.0.x 版本号,说明安装成功!

2. 可选:安装Visual Studio 2022(推荐)

三、第二步:搭建Semantic Kernel环境(LLM开发核心)

1. 创建SK项目(控制台版,最简单)

打开终端,依次输入:

bash 复制代码
# 创建控制台项目
dotnet new console -n CSharpAI_Demo
cd CSharpAI_Demo

# 安装Semantic Kernel最新版(2026稳定版)
dotnet add package Microsoft.SemanticKernel --version 1.15.0
2. 安装OpenAI .NET SDK(调用云端大模型)
bash 复制代码
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.14
3. 安装向量库SDK(RAG必备)
bash 复制代码
# Chroma(轻量本地向量库)
dotnet add package Microsoft.SemanticKernel.Connectors.Chroma --version 1.15.0

# Pinecone(云端向量库,可选)
dotnet add package Microsoft.SemanticKernel.Connectors.Pinecone --version 1.15.0
4. 快速测试:10行代码调用GPT-4o

打开 Program.cs,替换为以下代码(记得替换API Key):

csharp 复制代码
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;

// 1. 构建Kernel
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(
    "gpt-4o",          // 部署名
    "https://xxx.openai.azure.com/", // 终结点
    "你的API Key"      // 替换为你的Azure OpenAI Key
);
var kernel = builder.Build();

// 2. 获取聊天服务
var chat = kernel.GetRequiredService<IChatCompletionService>();
var history = new ChatHistory();
history.AddUserMessage("用C#写一个Hello AI程序,2026最新版");

// 3. 调用AI并输出结果
var response = await chat.GetChatMessageContentAsync(history);
Console.WriteLine("AI回复:" + response.Content);

运行:

bash 复制代码
dotnet run

看到AI回复,说明SK环境搭建成功!


四、第三步:搭建ML.NET环境(传统ML开发)

1. 安装ML.NET NuGet包
bash 复制代码
# 回到项目目录
cd CSharpAI_Demo

# 安装ML.NET核心包
dotnet add package Microsoft.ML --version 3.0.1

# 安装ML.NET自动训练工具(可选,可视化)
dotnet add package Microsoft.ML.AutoML --version 0.21.0
2. 可选:安装ML.NET Model Builder(Visual Studio专用)
  • 打开Visual Studio → 扩展 → 管理扩展 → 搜索 ML.NET Model Builder → 安装
  • 重启VS后,右键项目 → 添加 → 机器学习,即可可视化训练模型
3. 快速测试:ML.NET Hello World(鸢尾花分类)

创建 IrisData.cs

csharp 复制代码
public class IrisData
{
    [LoadColumn(0)] public float SepalLength;
    [LoadColumn(1)] public float SepalWidth;
    [LoadColumn(2)] public float PetalLength;
    [LoadColumn(3)] public float PetalWidth;
    [LoadColumn(4)] public string Label;
}

public class IrisPrediction
{
    [ColumnName("PredictedLabel")] public string PredictedSpecies;
}

修改 Program.cs

csharp 复制代码
using Microsoft.ML;

// 1. 创建ML上下文
var mlContext = new MLContext();

// 2. 加载数据(下载鸢尾花数据集:https://archive.ics.uci.edu/ml/datasets/iris)
var data = mlContext.Data.LoadFromTextFile<IrisData>("iris.data", separator:',');

// 3. 划分训练集和测试集
var trainTest = mlContext.Data.TrainTestSplit(data, testFraction: 0.2);

// 4. 构建训练管道
var pipeline = mlContext.Transforms.Conversion.MapValueToKey("Label")
    .Append(mlContext.Transforms.Concatenate("Features", "SepalLength", "SepalWidth", "PetalLength", "PetalWidth"))
    .Append(mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy("Label", "Features"))
    .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel"));

// 5. 训练模型
var model = pipeline.Fit(trainTest.TrainSet);

// 6. 评估模型
var predictions = model.Transform(trainTest.TestSet);
var metrics = mlContext.MulticlassClassification.Evaluate(predictions);
Console.WriteLine($"准确率:{metrics.MacroAccuracy:P2}");

// 7. 预测新数据
var predictor = mlContext.Model.CreatePredictionEngine<IrisData, IrisPrediction>(model);
var newFlower = new IrisData { SepalLength = 5.1f, SepalWidth = 3.5f, PetalLength = 1.4f, PetalWidth = 0.2f };
var prediction = predictor.Predict(newFlower);
Console.WriteLine($"预测品种:{prediction.PredictedSpecies}");

运行:

bash 复制代码
dotnet run

看到准确率和预测结果,说明ML.NET环境搭建成功!


五、第四步:搭建ONNX Runtime环境(本地模型部署)

1. 安装ONNX Runtime NuGet包
bash 复制代码
cd CSharpAI_Demo
dotnet add package Microsoft.ML.OnnxRuntime --version 1.17.0
dotnet add package Microsoft.ML.OnnxRuntime.Managed --version 1.17.0
2. 快速测试:运行ResNet50图像分类

创建 OnnxImageClassifier.cs

csharp 复制代码
using Microsoft.ML.OnnxRuntime;
using Microsoft.ML.OnnxRuntime.Tensors;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;

public class OnnxImageClassifier
{
    private readonly InferenceSession _session;
    private readonly string[] _labels = File.ReadAllLines("imagenet_classes.txt");

    public OnnxImageClassifier(string modelPath)
    {
        _session = new InferenceSession(modelPath);
    }

    public string ClassifyImage(string imagePath)
    {
        // 1. 加载并预处理图片
        using var image = Image.Load<Rgb24>(imagePath);
        image.Mutate(x => x.Resize(224, 224));
        var tensor = new DenseTensor<float>(new[] { 1, 3, 224, 224 });

        for (int y = 0; y < 224; y++)
        {
            for (int x = 0; x < 224; x++)
            {
                var pixel = image[x, y];
                tensor[0, 0, y, x] = (pixel.R / 255f - 0.485f) / 0.229f;
                tensor[0, 1, y, x] = (pixel.G / 255f - 0.456f) / 0.224f;
                tensor[0, 2, y, x] = (pixel.B / 255f - 0.406f) / 0.225f;
            }
        }

        // 2. 运行推理
        var inputs = new List<NamedOnnxValue> { NamedOnnxValue.CreateFromTensor("input", tensor) };
        using var results = _session.Run(inputs);
        var output = results.First().AsTensor<float>();

        // 3. 获取预测结果
        var maxIndex = output.ToArray().AsSpan().IndexOf(output.ToArray().Max());
        return _labels[maxIndex];
    }
}

修改 Program.cs

csharp 复制代码
var classifier = new OnnxImageClassifier("resnet50-v2-7.onnx");
var result = classifier.ClassifyImage("dotnet_logo.png");
Console.WriteLine($"图片分类结果:{result}");

安装ImageSharp:

bash 复制代码
dotnet add package SixLabors.ImageSharp --version 2.1.3

运行:

bash 复制代码
dotnet run

看到分类结果,说明ONNX Runtime环境搭建成功!


六、第五步:可选安装Ollama(本地大模型神器)

1. 下载安装Ollama
2. 运行本地大模型(Llama 3.2)
bash 复制代码
ollama run llama3.2
3. C#调用Ollama(用SK)
bash 复制代码
dotnet add package Microsoft.SemanticKernel.Connectors.Ollama --version 1.15.0

修改SK测试代码:

csharp 复制代码
builder.AddOllamaChatCompletion("llama3.2", new Uri("http://localhost:11434"));

运行,即可调用本地Llama 3.2,无需云端API!


七、2026年C# AI环境避坑指南(少走弯路)

  1. 版本统一:所有NuGet包尽量用最新稳定版,避免版本冲突
  2. 路径问题:模型、数据文件放在项目根目录,或用绝对路径
  3. 权限问题:Windows下用管理员身份运行终端,避免安装失败
  4. 网络问题:国内安装NuGet包慢,可配置镜像(https://nuget.cdn.azure.cn/v3/index.json)
  5. 本地模型 :Ollama默认存C盘,可修改环境变量 OLLAMA_MODELS 到其他盘

🎯 结尾总结

2026年C# AI环境搭建,真的很简单

  • .NET 8:地基,10分钟装好
  • Semantic Kernel:LLM调度,1行命令安装
  • ML.NET:传统ML,原生支持,无需Python
  • ONNX Runtime:本地模型,一键运行
  • Ollama:本地大模型,隐私友好,免费好用

跟着这篇文章,复制粘贴命令,10分钟搞定全套环境,直接进入AI开发实战!


💬 互动一下

你用的是Windows/macOS/Linux?

环境搭建过程中遇到啥问题了?

评论区留言,我帮你解决!


相关推荐
2601_9557674215 小时前
2026年iPhone17贴膜怎么选:偏振片缺失与磁控溅射AR镀膜技术解析及SGS认证观复盾方案
人工智能·智能手机·ar·护眼钢化膜·磁控溅射
金融RPA机器人丨实在智能15 小时前
数据库运维Agent比价指南:国产自研产品适配国产数据库兼容性更好吗?
运维·数据库·人工智能·ai
2601_9557674215 小时前
iPhone17偏振片缺失怎么补救:圆偏振光与磁控溅射AR技术解析及悟赫德观复盾方案
人工智能·ar·护眼钢化膜·圆偏振光·#观复盾护景贴
Black蜡笔小新16 小时前
自动化AI算法训练服务器DLTM一体化训推平台构建企业专属AI能力中台
人工智能·算法·自动化
代码有点萌16 小时前
CloudStudio 体验 ComfyUI:不用本地部署也能学习 AI 绘图
人工智能
前端小蜗16 小时前
搞了个 vibecoding 时防摸鱼沉迷的提醒,震到手环上
人工智能·程序员
ZzT16 小时前
瑞幸 skill 引发的一些思考
人工智能·ai编程·claude
道友可好16 小时前
AI 测试全绿,代码却是错的
前端·人工智能·后端
美团技术团队16 小时前
从月球漫步到赛博都市,WBench 测出了世界模型的边界
人工智能
Geoffwo16 小时前
Windows 本地电脑部署 RAGFlow
人工智能