我应该把dll文件放在哪里(我在我的项目中使用)

Posted

技术标签:

【中文标题】我应该把dll文件放在哪里(我在我的项目中使用)【英文标题】:Where should i put dll file(that i use in my project) 【发布时间】:2010-12-17 08:03:59 【问题描述】:

我正在建立一个 svn 存储库,想知道我应该把 dll 文件放在哪里。

我目前所做的是将它们放在 /bin/debug 文件夹中,然后将它们链接到我在 Visual Studio 中的项目文件中。

这是这样做的方法吗?

【问题讨论】:

【参考方案1】:

我想您是在询问第三方 dll 文件,因为项目生成的输出 (exe/dll) 文件最好不要由 SVN 管理,因为它们在每次构建时都会重新生成。

我通常做的是创建一个 Lib 文件夹,它位于我的源代码树的顶层,并将所有需要的引用放在那里,通常在按工具或功能(日志记录、电子邮件、api 等)划分的附加文件夹中,等等……)

【讨论】:

【参考方案2】:

您不应将 bin/Debug 或 bin/Release 中的任何内容放入源代码管理中。如果你这样做,当你清理你的解决方案或项目时,你会丢失它们。 您需要做的是创建一个文件夹,例如在解决方案文件夹中,并引用项目中的 dll。项目编译时,项目引用中的任何第三方 dll 都会复制到 bin/Debug 或 bin/Release 文件夹中。

【讨论】:

【参考方案3】:

我们通常有一个名为 dlls 的单独文件夹或我们保存所有第 3 方 dll/程序集的文件夹

【讨论】:

你是把它放在解决方案文件夹(项目的顶层文件夹):./dlls 还是 ./projectname/dlls 中? 是的,我们将其保留在解决方案中。 这并没有告诉我如何配置我的项目,以便应用程序可以使用 DLL 的【参考方案4】:

仅在运行时才需要 Dll。为了快速修复,您可以将 dll 复制到 .exe 文件所在的 Debug 文件夹中。此 Debug 文件夹与 Visual Studio 中的解决方案 .sln 文件处于同一级别。每次开始一个新项目时你必须做的事情...Debug folder

更好的解决方案是将所有第三方 dll 以及所有相应的 .h 和 .lib 文件复制到 2 个文件夹中,例如 C:\dev\include 和 C:\dev\lib,然后添加这 2 个文件夹到您的路径环境变量一次。这样,您就可以从所有项目中访问它们,而无需一遍又一遍地复制它们。

现在,如果您希望某人能够在另一台计算机上运行您的项目,您需要将项目中所有需要的 .h、.lib 和 .dll 文件复制到您创建的单独文件夹中,例如包含和 lib 再次,在您自己的程序文件所在的项目目录中,如前面的帖子中所述。 Project folder

PS。对不起,它不允许我上传 2 个屏幕截图,所以请点击链接。

【讨论】:

【参考方案5】:

我通常将它放在我的 Visual Studio 项目解决方案文件夹中的 Lib 文件夹中。我还将一直创建子文件夹以指示 dll 是用于 32 位还是 64 位构建,以及用于构建它的 Visual Studio 版本。所以像这样: Lib\WIN32\VC2015\ 。然后在项目的Project Properties中,在Debugging Configuration Property下,我将Environment设置为

PATH=$(SolutionDir)Lib\WIN32\VC2015;%PATH%

通过这样做,如果我愿意,我可以为不同的项目配置创建单独的 dll 文件夹,并且 dll 文件也可以很好地检查源代码控制。

【讨论】:

以上是关于我应该把dll文件放在哪里(我在我的项目中使用)的主要内容,如果未能解决你的问题,请参考以下文章

我应该把我的着色器代码放在哪里?

在哪里存储外部 DLL 文件?

在我的 Maven 2 项目中,我应该将 weblogic-application.xml 放在哪里?

我在哪里把我的 favicon 和 Hugo 放在一起

我应该把我的 DTO 放在哪里?

我在哪里将我的亚马逊 .pem 文件保存在 Mac 上