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

如何无需构建项目获取.NET SDK项目的NuGet依赖DLL清单

解决方案

方法1:通过dotnet命令组合定位依赖DLL

  • 第一步:获取目标包的直接/传递依赖及版本
    执行dotnet list <项目路径> package --include-transitive --filter "包A|包B|包C",替换为你指定的3个包ID,命令会输出所有关联包的精确版本号及依赖关系。
  • 第二步:定位具体框架的DLL文件
    1. 用dotnet nuget locals global-packages --list获取NuGet全局缓存路径;
    2. 直接读取项目.csproj文件中的<TargetFramework>节点值(如net6.0);
    3. 拼接路径:缓存路径/<包ID>/<版本号>/lib/<目标框架>/xxx.dll,该路径下的DLL即为会被复制到输出目录的文件。

方法2:利用MSBuild目标获取输出文件清单(无需完整构建)

  • 执行dotnet msbuild <项目路径> /t:GetCopyToOutputDirectoryItems /p:SkipNonexistentProjects=true /fl:v=detailed,该命令触发MSBuild计算待复制到输出目录的文件,但不会执行编译、资源生成等完整构建步骤;
  • 打开生成的msbuild.log文件,筛选CopyToOutputDirectory属性为True的条目,同时排除路径包含项目自身输出目录、ProjectReference项目路径的条目,剩余条目即为NuGet依赖的DLL文件。

方法3:指定框架执行NuGet Restore

  • 执行nuget restore <项目路径> -p:TargetFramework=<你的目标框架> -PackagesDirectory ./temp-nuget-packages,通过-p:TargetFramework明确指定项目目标框架,NuGet会仅下载适配该框架的包文件到临时目录,直接查看./temp-nuget-packages下对应包的lib/<目标框架>目录即可得到要复制的DLL清单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:12:42