【问题标题】:Manually referencing a nuget installed DLL in the project在项目中手动引用 nuget 安装的 DLL
【发布时间】:2021-04-02 17:11:19
【问题描述】:

我正在开发一个包含多个项目的解决方案。在其中一个项目(比如Project A)中,我安装了一个nuget 包,比如Utility,我想使用的功能在Utility.dll 中。这会将 Utility.dll 的所有依赖项添加到 Project A 的项目引用中。

现在我在同一个解决方案中将Utility.dll 添加到另一个Project B 中,通过右键单击 --> 添加引用 --> 现有项目 --> 浏览 --> 添加。

这不会在项目参考中添加 Utility.dll 的依赖项,但在构建所有依赖项后会复制到 /bin/debug 文件夹。

我想知道:-

  1. msbuild能否在运行时解析Utility.dll的依赖并自动复制其依赖?
  2. 如果,msbuild 可以解决依赖关系,它是引用一些清单文件还是它反汇编一个 dll 并读取它的依赖关系,因为 Utility.dll 的依赖关系位于 /package 的不同文件夹中?

【问题讨论】:

    标签: c# msbuild .net-assembly


    【解决方案1】:

    MSBuild 仅查找相关文件(pdb、xml、..),但仅查找经典 NuGet 引用。

    我建议只使用 NuGet 来引用包,而不要在使用 packages.config 时手动添加对包文件夹的直接引用。

    对于在 csproj 中使用 PackageReference 而不是旧式 packages.config 方法的项目,这些依赖项在默认情况下也会传递传递 (Migration Guide)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多