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

如何让类库的级联引用DLL自动复制到ASP.NET网站项目bin目录?

解决ASP.NET Web项目未自动复制类库间接依赖NuGet包的问题

这是因为.NET构建系统默认会清理未被直接引用的依赖项,导致类库的间接依赖包无法传递到上游Web项目的输出目录。可以通过以下几种方案解决:

方案1:强制类库复制所有锁定文件中的程序集

编辑类库项目的.csproj文件,在<PropertyGroup>节点中添加CopyLocalLockFileAssemblies配置,让类库输出目录包含所有NuGet锁定文件里的依赖程序集,Web项目引用类库时会自动同步这些文件:

<PropertyGroup>
  <TargetFramework>net472</TargetFramework> <!-- 替换为你的项目目标框架版本 -->
  <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>

方案2:显式引用间接依赖包并设置传递性

在类库项目中添加对NugetPackage2的显式引用,无需在代码中使用它,只需配置让这个包可以传递给依赖项目:

  1. 打开类库的.csproj文件,添加以下PackageReference节点:
<PackageReference Include="NugetPackage2" Version="x.x.x"> <!-- 替换为实际版本号 -->
  <PrivateAssets>none</PrivateAssets>
</PackageReference>
  1. 或者通过NuGet包管理器安装NugetPackage2到类库,然后右键该包引用→属性,将复制本地设置为True。

方案3:手动复制(临时应急方案)

直接将类库bin目录中的NugetPackage2.dll复制到Web项目的bin目录,此方法仅适合临时测试,每次更新包版本都需要重复操作,不推荐长期使用。

内容的提问来源于stack exchange,提问作者ryan.kom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:02:46