管理源代码的方法

时间:2010-02-28 12:17:37

标签: c# visual-studio-2008 shared-libraries projects-and-solutions

近年来,我编写了大量软件,其中大部分都倾向于共享一个或多个公共库。 (最常见的库,是我用来调用SQL存储过程和返回对象数组的库)

我对管理图书馆的方式不满意,我正在寻找改善工作方式的建议。

我第一次创建现在的共享库时,我在解决方案中将库添加为单独的类库项目。

现在,当我开始一个新的解决方案并且我知道我将需要一个我已经拥有的库时,我将去找到该库的项目并将文件复制到新的解决方案中。

这给我留下了我的文件系统(和SVN服务器)周围的同一个库项目的几个副本,它感觉不对。

是否有更好的工作方式,因此我只有一个所有解决方案共享的库的主副本,而不是每个解决方案都有自己的库项目副本?

4 个答案:

答案 0 :(得分:5)

只需构建一次库,并从需要使用它的项目中引用已编译的二进制文件。

在visual studio中,右键单击项目并单击“添加引用”,然后选择“浏览”选项卡并找到您的库二进制文件。

(您显然需要将库程序集与应用程序一起分发)

答案 1 :(得分:2)

你的感觉是完全正确的。应该只有一个库的主服务器。

在我们的商店中,我们有几个产品使用的共享库项目。我们将这些库视为产品本身并相应地对待它们。具体来说,当项目需要其中一个库时,我们将库的编译版本放在项目的lib文件夹中。我们不需要复制源代码,我们的项目只引用了dll的稳定版本。

这是存储库中的示例结构

/LibraryX            <- product root
   ../branches
   ../tags
   ../trunk          <- solution folder
       ../LibraryX   <- project folder
       ../lib        <- thirdparty libraries used by LibraryX

/ProductY            <- product root
   ../branches
   ../tags
   ../trunk          <- solution folder
       ../ProductY   <- project folder
       ../lib        <- thirdparty libraries 
                        used by ProductY, e.g. a copy of LibraryX.dll

因此,在ProductY项目中,您不是要包含LibraryY项目的副本,而是添加对lib文件夹中的LibraryX.dll的引用。

答案 2 :(得分:1)

我建议将您的库编译成一个dll,可以将其添加为您正在处理的任何其他项目的参考。然后,您无需在任何地方复制源文件。

答案 3 :(得分:1)

您应该只使用您的库构建一个dll然后只是引用它..

参考文献&gt;在VS中添加引用。

相关问题