【问题标题】:Visual Studio - Referencing third party DLLVisual Studio - 引用第三方 DLL
【发布时间】:2012-12-21 20:14:06
【问题描述】:

我在 C# MVC 应用程序中使用 Visual Studio 10。

我对 .dll 参考有疑问。我正在使用名为的第三方参考 离子.Zip.dll。我不确定的是它当前指向我的 C: 驱动器上的一个位置。 对我来说,如何放置这个 .dll 以及什么是最佳实践,这样当我签入项目时,其他人也可以看到这个 .dll 而不会炸毁。

谢谢

【问题讨论】:

  • 将“复制到输出目录”设置为 True,以便将其放入 bin 中。
  • 复制到输出目录在哪里。我没看到。
  • c# Reference for DotNetZip 的可能重复项
  • @vcsjones 我看不出这是否合适。从您与之共享它的人的角度来看,bin 文件夹将是存储 DLL 的位置。如果这些用户之一清理或重建项目或解决方案,DLL 可能会丢失。并且AIUI,bin和obj文件夹的设计就是可以直接删除,下次项目构建成功。因此,将版本控制系统设置为忽略它们以最大程度地减少存储库中不必要的混乱是最有意义的。

标签: c# visual-studio-2010 dll


【解决方案1】:

我通常会在我的应用程序结构中放置一个库文件夹,将第 3 方 dll 放置在该文件夹中,然后引用该 dll。然后确保将库文件夹签入您的源代码管理。 现在,任何拉取您的源代码的人都将拥有所需的 dll。

【讨论】:

  • 是否提交库文件夹的选项取决于项目约定。如果您的团队不管理项目中的库,我通常不会将任何内容提交到源代码控制中。而且第三方库往往很大,可以增长到几MB。这可能会减慢下载过程。另一种方法是编写一个安装文档,然后确保在安装过程中每个人都可以手动下载库。或者您可以编写构建脚本来自动化这个项目构建过程。但这很复杂。
【解决方案2】:

更简单...只需通过 Visual Studio 包管理器 NuGet 添加对 DotNetZip 的引用:

http://nuget.org/packages/DotNetZip

而且您不必担心。

【讨论】:

  • 如果没有 Nuget 包而只是提供给您的第 3 方库怎么办。到目前为止,我已经看到了与 Nate 描述的相同的问题,并且唯一的解决方案接缝是 @csuroski 在他对此类情况的回答中推荐的
【解决方案3】:

最好的方法是使用 Nuget

但在某些情况下,Nuget 不可用或无法兼容,所以正如我们的朋友所说,最好在应用程序结构中放置一个库文件夹,将第 3 方 dll 放在该文件夹中,然后引用该 dll。然后确保将库文件夹签入源代码管理。现在,任何拉取源代码的人都将拥有所需的 dll。

【讨论】:

  • 同意,在没有 nuget 可用于 3rd 方库的情况下,此接缝是唯一可行的选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
相关资源
最近更新 更多