代码之家  ›  专栏  ›  技术社区  ›  willem

在里面NET,我何时必须引用外部库也引用的DLL?[副本]

  •  1
  • willem  · 技术社区  · 8 年前

    我在试着理解什么时候对我来说是必要的。NET项目引用外部库引用的DLL。

    一个实例:微软。机器人程序。建设者依赖慢性病。签署。dll

    3 回复  |  直到 8 年前
        1
  •  2
  •   Hey24sheep    8 年前

    如果我引用Microsoft。机器人程序。建设者dll,我总是要添加吗 提到慢性病。签署。dll在我自己的项目中,即使我不是 直接使用?或者我只需要在某些情况下 情况?

    当您使用NuGet添加软件包时,依赖软件包也随之安装。那么你什么时候加入微软。机器人程序。建设者它会自动安装dll。签署。dll。

    接下来是角色,为什么?一些lib包依赖于其他包。就像微软的一个功能。机器人程序。建设者dll可能正在使用来自Chrome的某些帮助程序或主函数。签署。dll。因此,如果你将删除慢性病的参考。签署。dll您将得到缺少依赖项或引用的错误。

    我总是需要添加吗 提到慢性病。签署。dll在我自己的项目中,即使我不是 直接使用?

    并非所有的软件包都依赖于其他软件包。有些是独立的,从不安装任何其他DLL,但有些是独立的。

        2
  •  1
  •   batwad    8 年前

    当你使用中的某些东西时,你需要这样做 Microsoft.Bot.Builder 这暴露了 Chronic.Signed 在其公共API中。例如(我自己不需要浏览图书馆),我们可以这样说 Chronic.Signed.IFoo 是一个接口 Microsoft.Bot.Builder.FooImpl 机具。如果您引用 微软机器人程序。建设者FooImpl公司 在您的代码中,您还需要引用 慢性的签署

        3
  •  0
  •   Lauraducky    8 年前

    除非您正在引用这些包中的特定内容,否则您不需要这样做。如果您缺少一个会导致代码无法编译或运行的依赖项,编译器很可能会对此抱怨。

    正如需要安装多个DLL的简单示例一样,当您通过NuGet安装软件包时,有时软件包将具有将要安装的依赖项,以便能够运行软件包中的代码。然而,它们中的大多数将独立于任何其他软件包安装。您可以通过将一些引用放在另一个项目中不存在的库项目中,然后尝试从主项目运行代码,来测试这是如何跨项目工作的。您不需要引用与库项目相同的DLL。

    推荐文章