You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法向空.NET项目添加Autofac NuGet包的问题求助

问题分析与解决方案

核心原因

你的项目名称和要安装的NuGet包同名(都是Autofac),这会让NuGet在依赖解析时彻底混乱:

  • 最初的The given key '(Autofac, 8.2.0)' was not present in the dictionary错误,是因为NuGet误把项目本身当成了要查找的包,找不到对应版本的条目
  • 指定SDK后出现的NU1108: Cycle detected. Autofac -> Autofac (>= 8.2.0),直接戳破问题本质——NuGet误以为项目需要引用自身作为依赖,形成循环

解决步骤

1. 重新创建不同名的项目

删掉现有项目文件,创建一个和Autofac不同名的控制台项目,比如AutofacDemo:

del .\Autofac.csproj
dotnet new console -n AutofacDemo -o . -f net8.0 --force

2. 安装Autofac包

在新项目里重新执行安装命令:

dotnet add package Autofac

3. (可选)关联原解决方案

如果想保留Autofac作为解决方案名称,把新项目添加进解决方案即可:

dotnet sln add .\AutofacDemo.csproj

验证

完成操作后,NuGet就能正常解析并安装Autofac包,之前的字典键缺失、循环依赖错误都会消失。

内容的提问来源于stack exchange,提问作者mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:12:00