【发布时间】:2011-05-15 17:15:34
【问题描述】:
在我的项目中,我使用了一些第三方库。我使用 Visual Studio 中的引用文件夹包含它们。
但是我应该将 DLL 文件保存在哪里?它们是从文件系统中的路径引用的,但如果我可以将它包含到项目中会很好。但是怎么做呢?
【问题讨论】:
标签: c# .net wpf visual-studio dll
在我的项目中,我使用了一些第三方库。我使用 Visual Studio 中的引用文件夹包含它们。
但是我应该将 DLL 文件保存在哪里?它们是从文件系统中的路径引用的,但如果我可以将它包含到项目中会很好。但是怎么做呢?
【问题讨论】:
标签: c# .net wpf visual-studio dll
这就是我的工作:
您还可以添加解决方案文件夹并将它们添加到那里。
上面的答案是NuGet 还处于婴儿期。 FWIW,我有 NuGet 项的方法:
packages.config 文件以将版本锁定到特定包我实际上使用 NuGet 来管理内部依赖项,并且有一个私人提要。
【讨论】:
.sln 文件的级别?
通常,我的项目结构如下所示(至少):
projectname
- trunk
- src
- lib
- support
- docs
- releases
trunk 文件夹包含我现在正在处理的源代码的副本。此外,还有一个目录“lib”,其中包含我的项目引用的所有第三方程序集。
(我引用了那个位置的程序集)。
“发布”文件夹包含主干的分支。例如,当 v1 发布时,会从主干中提取一个分支,以便我拥有构建应用程序版本 1 所需的源代码及其所有依赖项的副本。 (这对于错误修复很方便。修复该分支中的错误,将修复合并到主干,重建该分支,您的应用程序就有一个固定的 v1)。
所有这些都进入源代码管理。 (是的,引用的程序集也是如此)。这样一来,如果另一个同事也必须从事该项目,就很容易了。他只是从源代码控制中获得了最新版本,并且他(或她)已经准备好一切以便能够编译和构建)。
(请注意,如果您将CruiseControl 用于continuous integration,这也是如此)。
【讨论】:
在 Visual Studio 的属性窗口中用于引用 dll,有一个名为“复制本地”的属性 - 将其设置为 true,它们将被复制到本地项目的 bin 目录中
【讨论】:
看看NuGet(Visual Studio 的包管理器)...
NuGet 是一个 Visual Studio 扩展,可以轻松安装和 更新 Visual Studio 中的开源库和工具。
然后阅读此 NuGet 文档以获取 crème de la crème:
【讨论】:
您应该查看NuGet。它是 Visual Studio 2010 的包管理扩展,专为您的需要而设计。
【讨论】:
看看Tree Surgeon - 为 .NET 项目创建一个开发树,这是一个很好的起点,您可以从那里即兴创作。
【讨论】:
就我个人而言,我的源代码控制中有一个用于 3rd 方 DLL 的文件夹(每个公司、组织都有一个文件夹)并从那里引用它们。
这些文件随后可供所有下载源代码的开发人员使用,并且可以轻松更新。
【讨论】:
要正确回答这个问题,您需要区分环境和工作集。
环境:
工作集:
您需要决定您的组件适合的类别。
【讨论】: