首页
/ AutoGen for .NET 安装指南:NuGet 包选型、安装命令与 Nightly 构建源配置

AutoGen for .NET 安装指南:NuGet 包选型、安装命令与 Nightly 构建源配置

2026-09-04 17:11:36作者:董灵辛Dennis

本文基于 AutoGen 仓库的 .NET 端安装文档,系统讲解 AutoGen for .NET(AutoGen.Net)各 NuGet 包的职责划分与选型策略、标准安装命令,以及如何配置 Azure DevOps 的 Nightly 构建源。读完后,你可以按需选择“全家桶”包、纯核心包或单一模型集成包完成安装,并掌握获取每日构建版本的 NuGet 源配置方法。

包体系总览:12 个 NuGet 包各管什么

AutoGen.Net 将功能拆分为一组可独立安装的 NuGet 包,你可以按需选择一个或多个组合安装。仓库 dotnet/nuget/nuget-package.props 中定义了所有包共用的元信息(MIT 许可、A programming framework for agentic AI 描述、SourceLink 符号包等),每个包的工程文件通过 Import 复用该配置。

完整包列表如下(与文档 dotnet/website/articles/Installation.md 保持一致):

包名 职责
AutoGen 一站式(all-in-one)包,聚合核心能力与多个模型集成
AutoGen.Core 核心包,提供消息类型、Agent 与群组对话(group chat)等抽象
AutoGen.OpenAI 面向 OpenAI 模型的集成 Agent
AutoGen.Mistral 面向 Mistral.AI 模型的集成 Agent
AutoGen.Ollama 面向 Ollama 的集成 Agent
AutoGen.Anthropic 面向 Anthropic 的集成 Agent
AutoGen.LMStudio 面向 LM Studio 的集成 Agent
AutoGen.SemanticKernel 基于 Semantic Kernel 的集成 Agent
AutoGen.Gemini 面向 Google Gemini 的集成 Agent
AutoGen.AzureAIInference 面向 Azure AI Inference 的集成 Agent
AutoGen.SourceGenerator 提供源生成器(source generator),支持类型安全的函数定义生成
AutoGen.DotnetInteractive 集成 dotnet interactive,用于执行代码片段;当前支持 C#、F#、PowerShell 与 Python

选型建议

原文档给出了明确的“帮我选”指引,这里完整保留并补充源码佐证:

  1. 只装一个包就享受核心能力 → 选 AutoGen
  2. 只要 AutoGen 抽象,不想引入 Azure.AI.OpenAISemantic Kernel 等第三方依赖 → 选 AutoGen.Core。你需要自己实现 Agent,但仍可使用群组对话、内置消息类型、workflow 与 middleware 等核心功能。
  3. 要用特定模型后端 → 按需选 AutoGen.OpenAIAutoGen.LMStudioAutoGen.SemanticKernel 等对应集成包。
  4. 只要类型安全的函数调用源生成,连 AutoGen 抽象都不要 → 选 AutoGen.SourceGenerator

从源码结构看 AutoGen 全家桶的真实依赖

dotnet/src/AutoGen/AutoGen.csproj 的工程引用看,当前源码中 AutoGen 包通过 ProjectReference 聚合了 AutoGen.CoreAutoGen.OpenAIAutoGen.AnthropicAutoGen.AzureAIInferenceAutoGen.MistralAutoGen.OllamaAutoGen.GeminiAutoGen.SemanticKernel 等集成项目,并以 OutputItemType="Analyzer" 方式引入 AutoGen.SourceGenerator(源生成器仅作为分析器参与编译,不产生程序集引用),同时还直接引用了 Azure.AI.OpenAI NuGet 包。也就是说,安装 AutoGen 一个包即可覆盖文档中列举的主流集成场景,这与它“all-in-one”的定位一致。

各包的依赖层次可以从工程文件中得到印证:

  • dotnet/src/AutoGen.Core/AutoGen.Core.csproj:核心包仅依赖 JsonSchema.Net.GenerationSystem.Memory.DataMicrosoft.Extensions.AI.Abstractions 三个轻量包(netstandard2.0 目标下额外引入 Microsoft.Bcl.AsyncInterfaces),验证了“选 Core 可避免重量级 AI SDK 依赖”的说法。
  • dotnet/src/AutoGen.OpenAI/AutoGen.OpenAI.csproj:依赖 OpenAI 官方 SDK 与 AutoGen.Core,其包描述明确提示——若你的项目仍停留在 Azure.AI.OpenAI v1,应改用 AutoGen.OpenAI.V1 包。

目标框架与版本线

dotnet/Directory.Build.props 可确认:

<PackageTargetFrameworks>netstandard2.0;net8.0</PackageTargetFrameworks>

所有 AutoGen 包同时面向 netstandard2.0net8.0 发布,因此 .NET 6/7/8 项目以及较老的标准库环境均可引用。版本方面,dotnet/eng/MetaInfo.props 显示以 AutoGen 开头的项目(即 0.2.x 版本线)当前 VersionPrefix0.2.3,而 Microsoft.AutoGen 等新一代运行时项目使用 0.4.0 前缀——两条产品线并行,安装时请以 NuGet 上实际可用版本为准。

此外,仓库采用中央包管理(dotnet/Directory.Packages.propsManagePackageVersionsCentrally=trueNuGetAuditMode=direct),并设置了 TreatWarningsAsErrors=true,这些是仓库自身构建约定,不影响你的消费方项目。

标准安装命令

确定包之后,使用 NuGet 标准命令安装:

dotnet add package AUTOGEN_PACKAGES

AUTOGEN_PACKAGES 替换为上表中一个或多个包名(可多次执行)。例如同时安装核心与 OpenAI 集成:

dotnet add package AutoGen.Core
dotnet add package AutoGen.OpenAI

SDK 环境前提

AutoGen.Net 仓库自身要求 .NET SDK 9.0.100 并允许 rollForward: latestFeature(见 dotnet/global.json)。对于纯消费方项目,包目标框架为 netstandard2.0/net8.0,使用 .NET 8 或更高 SDK 即可正常构建与运行。若本机尚无 SDK,仓库提供了 dotnet/dotnet-install.sh 脚本可用于安装 dotnet SDK(仓库根 NuGet.config 仅配置了 nuget.org 源,供仓库内构建使用)。

安装完成后可直接参考 dotnet/samples/ 下的示例工程(如 AutoGen.Basic.Sample)验证包引用方式与典型 Agent 写法。

消费 Nightly 构建(每日构建)

AutoGen 提供 Azure DevOps 上的 Nightly 源:AutoGen-Nightly,地址为 https://pkgs.dev.azure.com/AGPublish/AGPublic/_packaging/AutoGen-Nightly/nuget/v3/index.json。添加源有两种方式:

方式一:项目级 NuGet.config

在项目根目录创建 NuGet.config 文件,加入以下内容(原文档给出的模板):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="AutoGen" value="$(FEED_URL)" /> <!-- replace $(FEED_URL) with the feed url -->
    <!-- other feeds -->
  </packageSources>
  <disabledPackageSources />
</configuration>

注意 <clear /> 会清空继承的源列表,因此需要在使用 Nightly 源的同时,把 nuget.org 等其他必需的源也补充在 <!-- other feeds --> 位置,否则常规依赖将无法解析。仓库内 dotnet/NuGet.config 就是一个最小化的项目级 NuGet 源配置示例(nuget.org + <clear /> 结构)。

方式二:全局 NuGet 源

在终端执行以下命令将 Nightly 源加入全局配置:

dotnet nuget add source FEED_URL --name AutoGen

# dotnet-tools contains Microsoft.DotNet.Interactive.VisualStudio package, which is used by AutoGen.DotnetInteractive
dotnet nuget add source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json --name dotnet-tools

其中第二条命令添加的 dotnet-tools 源包含 Microsoft.DotNet.Interactive.VisualStudio 包,是 AutoGen.DotnetInteractive 的运行时依赖——如果你不打算使用 dotnet interactive 代码执行能力,可以只加第一条 Nightly 源。

安装指定版本

源添加完成后,用带版本号的命令安装每日构建包:

dotnet add package AUTOGEN_PACKAGES VERSION

VERSION 替换为 Nightly 源中实际的构建版本号。由于每日构建可能引入未稳定 API,建议 Nightly 版本仅用于尝鲜与缺陷验证,生产环境优先使用 NuGet 上的稳定版本。

小结

  • 选型口诀:全功能选 AutoGen,纯抽象选 AutoGen.Core,特定模型后端选对应集成包,只要函数调用源生成选 AutoGen.SourceGenerator
  • 所有包双目标 netstandard2.0 + net8.0,消费方使用 .NET 8+ SDK 即可;
  • Nightly 消费需要显式添加 Azure DevOps 源(项目级 NuGet.configdotnet nuget add source),使用 AutoGen.DotnetInteractive 时还需额外添加 dotnet-tools 源。
登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
527
590
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
904
1.82 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
docsdocs
暂无描述
Markdown
889
5.78 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.52 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.33 K
1.45 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
982
502
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384