安装Microsoft.Data.Tools.Msbuild时出现NuGet依赖循环如何解决
解决Microsoft.Data.Tools.Msbuild包依赖循环错误方案
- 先更新PowerShell的NuGet提供者到最新版本,再重试安装,旧版提供者对依赖树的解析逻辑存在缺陷,容易误判依赖循环:
Install-PackageProvider -Name NuGet -Force -Scope CurrentUser
- 16.0.62004.28040版本本身的依赖声明存在已知问题,若无强制版本要求,直接安装最新稳定版本即可规避错误:
Install-Package Microsoft.Data.Tools.Msbuild -Scope CurrentUser -ProviderName 'NuGet' -Source 'https://api.nuget.org/v3/index.json'
- 若必须使用指定版本,可在安装命令中添加
-SkipDependencies参数跳过依赖检查,安装完成后手动补装缺失的基础依赖即可:
Install-Package Microsoft.Data.Tools.Msbuild -RequiredVersion 16.0.62004.28040 -Scope CurrentUser -ProviderName 'NuGet' -Source 'https://api.nuget.org/v3/index.json' -SkipDependencies
- 更换安装工具也可解决该问题,PowerShell的
Install-Package命令对NuGet包的兼容度较低,可改用NuGet CLI、dotnet CLI或者Visual Studio内置的NuGet包管理器安装,这类工具的依赖解析逻辑不会误报该版本的依赖循环。 - 若用于项目构建场景,可直接在项目文件中添加包引用,由MSBuild在构建阶段自动还原,不会触发PowerShell环境下的解析错误:
<PackageReference Include="Microsoft.Data.Tools.Msbuild" Version="16.0.62004.28040" PrivateAssets="all" />
内容的提问来源于stack exchange,提问作者lit
相关产品推荐
相关产品推荐

