gpt4 book ai didi

c# - .NET 部署项目不使用但引用的 dll 需要的 dll

转载 作者:太空狗 更新时间:2023-10-30 01:07:36 25 4
gpt4 key购买 nike

所以问题很简单:我的项目引用了程序集 X 但没有引用 Z。但是程序集 X 确实引用了程序集 Z。程序集 Z 更新有点频繁,所以每当我构建我的项目时,我都想获得最新版本的Z也是。

到目前为止,我提出了 3 个选项:

  1. 引用程序集 Z。这样做的好处是始终可以获得新版本。但它确实会用其中并非严格要求的内容污染引用。
  2. 添加一个构建后事件,从更新的位置复制所需的 DLL。我认为这很好,直到我需要多个不同的 DLL,这会使脚本变得很长且维护起来很乏味。
  3. 将程序集 Z 添加为资源并将复制到输出设置为 true。我可能更喜欢这个,除了当我将 DLL 添加到项目时,visual studio 实际上将(当时)当前版本复制到项目中,并且没有指向原始源的链接。因此,当程序集更新时,这不会以任何方式反射(reflect)在我的项目中。除非我将此方法与选项 2 结合使用,否则我还不如单独使用选项 2。

那么,我是否遗漏了什么,或者这些是我唯一的选择吗?

最佳答案

我会选择选项 1。我认为您的项目引用它所依赖的所有内容是完全合理的,即使这些依赖有时可能是间接的。

它对我来说似乎也是最简单选项 - 并且符合 Visual Studio 对您的应用程序所需的代码依赖项的看法...因此 Visual Studio 对这些依赖项执行的任何操作都应该只是自然流动,而不是你必须在每个阶段都考虑这一点。

编辑:作为替代选项,您是否考虑过使用 NuGet ?这样您在项目的 NuGet 依赖项中表达对 X 的依赖,但它会“知道”它依赖于 Z。我相信它应该一切正常...即使这些是内部项目,您也应该能够执行此操作,因为您可以设置自己的 NuGet 源而不是公共(public)存储库。

关于c# - .NET 部署项目不使用但引用的 dll 需要的 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11772186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com