管理源代码的方法
近年来,我编写了大量软件,其中大部分都倾向于共享一个或多个公共库。 (最常见的库,是我用来调用SQL存储过程和返回对象数组的库)
我对管理图书馆的方式不满意,我正在寻找改善工作方式的建议。
我第一次创建现在的共享库时,我在解决方案中将库添加为单独的类库项目。
现在,当我开始一个新的解决方案并且我知道我将需要一个我已经拥有的库时,我将去找到该库的项目并将文件复制到新的解决方案中。
这让我看到了我的文件系统(和SVN服务器)周围的相同库项目的几个副本,它感觉不对。
有没有更好的工作方式,所以我只有一个所有解决方案共享的库的主副本,而不是每个解决方案都有自己的库项目副本?
只需构建一次库,并从需要使用它的项目中引用已编译的二进制文件。
在visual studio中,右键单击项目并单击“添加引用”,然后选择“浏览”选项卡并找到库二进制文件。
(您显然需要将库程序集与应用程序一起分发)
你的感觉是完全正确的。 应该只有一个库源的主人。
在我们的商店中,我们有几个产品使用的共享库项目。 我们将这些库视为产品本身并相应地对待它们。 具体来说,当项目需要其中一个库时,我们将库的编译版本放在项目的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, eg a copy of LibraryX.dll
因此,在ProductY项目中,您可以添加对lib文件夹中的LibraryX.dll的引用,而不是包含LibraryY项目的副本。
我建议将您的库编译成一个dll,可以将其添加为您正在处理的任何其他项目的参考。 然后,您无需在任何地方复制源文件。
你应该只用你的库建立一个DLL,然后只是引用它..
参考>在VS中添加引用。