在.NET项目中复制引用程序集的位置?

问题描述:

我想在当前的.NET 4.5项目中引用一堆程序集(DLL)。但是,现在他们都坐在我的硬盘上的某个本地文件夹中。当有人在同一个项目上工作时,这些引用程序集显然不在同一个本地文件夹中。我的计划是将这些程序集复制到我的项目中的某个文件夹中,并将其放入源代码管理中。在.NET项目中复制引用程序集的位置?

这是一个很好的计划吗?这些东西通常用于什么文件夹?

+1

身在的NuGet包这些依赖?如果是这样,您可以自行排除二进制文件,但包含软件包配置,其他软件将能够自动提取软件包。 – 2013-03-26 18:38:18

+1

在Visual Studio中右键单击并选择添加引用或将其复制到bin文件夹中 – 2013-03-26 18:38:24

+0

要扩展@JonSkeet的评论,如果他们不在NuGet包中,我强烈推荐在NuGet包中使用_putting_。开始使用我的内部库程序集完成此操作,极大地简化了我的依赖管理。 – Cerebrate 2013-03-26 18:41:20

NuGet是一种更喜欢的方法;但是,一些程序集不在NuGet中。所以这里是nopCommerce所做的一个例子。

  1. 创建一个文件夹的依赖关系(你的项目文件夹内)
  2. 保持它里面的所有第三方组件。

enter image description here

enter image description here

enter image description here

GAC所有DLL程序集的更好的方法。

http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx

gacutil -i "DLL File Path" 
+1

这将把DLL只在他的机器上。他希望这些DLL成为项目的一部分,因此其他任何工作的人都会将它们引用到项目文件中。此外,还简化了部署。 – Floremin 2013-03-26 18:42:00

绝对是一个好主意。通常,我会在解决方案的顶层(或者如果有的话)更高的“依赖关系”目录以及项目使用的所有DLL。这些都在源代码控制中,所以当你检查代码时,它将会按原样工作,因为这些DLL都是相对于项目的。

NuGet是使用外部库的最常见方式,它将依赖关系放置在解决方案文件夹根目录下名为Packages的文件夹中。您可以为非nuget依赖项创建一个名为dependencies的文件夹。通过将此文件夹放置在解决方案的根目录下,您可以制作相关参考,以便适用于所有人。