VS 2022无法加载Dynamics CRM SDK相关NuGet包求助
从你提供的dotnet restore错误日志来看,所有包的查找范围都被限制在了Microsoft Visual Studio Offline Packages这个离线源里——这个源只包含Visual Studio安装时预装的少量基础包,项目依赖的CRM SDK、NewtonSoft.Json等第三方包根本不在里面,这就是还原失败的核心原因。
按以下步骤解决:
检查并启用NuGet官方源
打开Visual Studio,依次点击「工具」→「NuGet包管理器」→「包管理器设置」,在「包源」列表里确认nuget.org源是否存在且已启用。如果没有,点击「添加」,输入名称nuget.org,源地址填https://api.nuget.org/v3/index.json,然后把这个源移到列表最上方,确保优先级最高。清理本地NuGet缓存
打开命令提示符,执行命令:dotnet nuget locals all --clear或者在Visual Studio的「包管理器设置」里,点击「清除所有NuGet缓存」,避免缓存的旧配置干扰。
强制从官方源执行还原
进入项目所在目录(C:\CRM.Migrator\CRMMigrate),执行:dotnet restore --source https://api.nuget.org/v3/index.json这个命令会绕过本地配置,直接从官方NuGet源拉取所需包。
检查项目文件的硬编码源配置
打开Migrator.csproj文件,搜索<RestoreSources>节点,如果发现里面只写了离线源的地址,修改为包含官方源,比如:<RestoreSources>https://api.nuget.org/v3/index.json;$(RestoreSources)</RestoreSources>
完成以上步骤后,重新执行dotnet restore或者在Visual Studio里右键项目选择「还原NuGet包」,应该就能正常获取所有依赖包了。
内容的提问来源于stack exchange,提问作者GoBeavs

