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

如何永久移除解决方案中未使用的NuGet传递依赖包System.Data.SqlClient

解决System.Data.SqlClient被NuGet自动还原的问题

定位传递依赖来源

先执行命令找出哪个包在引入System.Data.SqlClient:

dotnet list package --include-transitive

查看输出结果,找到包含System.Data.SqlClient的依赖链,定位根源包。

排除传递依赖

方法1:全局排除该包

在项目的.csproj文件中添加以下配置,强制排除System.Data.SqlClient的传递依赖:

<ItemGroup>
  <PackageReference Include="System.Data.SqlClient" Version="4.8.1">
    <ExcludeAssets>all</ExcludeAssets>
    <PrivateAssets>all</PrivateAssets>
  </PackageReference>
</ItemGroup>

方法2:精准排除根源包的传递依赖

如果已经找到引入它的具体包(比如PackageX),在该包的PackageReference中添加排除配置:

<PackageReference Include="PackageX" Version="x.x.x">
  <ExcludeAssets>System.Data.SqlClient</ExcludeAssets>
</PackageReference>

检查额外配置文件

  • 查看解决方案根目录下的Directory.Packages.props文件,检查是否有System.Data.SqlClient的强制引用条目,如有则移除。
  • 检查项目的app.config/web.config,移除关于System.Data.SqlClient的绑定重定向配置。
  • 检查全局NuGet配置(路径:%appdata%\NuGet\NuGet.Config),确认没有强制要求该包的配置。

最后验证

执行以下命令清理并重建:

dotnet clean
dotnet restore
dotnet build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:05:08