这是一个一直困扰着我的问题,我只是没有找到一个好的解决方案(没有双关语意)。
我正在使用Visual Studio 2010与Subversion和Ankhsvn。它工作得很好,但是,我最大的问题是它只检索和管理“包含在项目中”的文件。这在很多情况下都很好用,但是如果你想要一个包含你希望包含在解决方案中的对象的文件夹,但又不想拥有项目本身(在这种情况下是一个web项目),那就太糟糕了。
在这种情况下,我想将一些第三方DLL包含在源代码控制中(因此在与版本控制同步时可以保持最新)。我不希望开发人员分别安装第三方dll。通常情况下,您从其他位置引用DLL,并在编译时将它们复制到bin文件夹中。
我不希望将它们包含在项目中,因为我在发布站点时不会将它们复制到Web服务器(除了它们应该在bin目录之外)。我想为这些创建一个单独的项目,但这会创建一个无用的dll,没有任何目的然后会被复制到bin文件夹,因为它被引用。
我也尝试从bin文件夹中检查它们,但是这导致了一些问题,其中文件没有正确地同步,subversion说有关已经存在的版本文件夹的事情等等。这似乎是颠覆或ankhsvn问题,而不是视觉工作室问题。因此,我尝试保持bin文件夹不受版本控制的影响。
您是如何在项目中解决此问题的?
答案 0 :(得分:5)
这就是我们在项目中的表现。
我们有一个SourceCode文件夹,其中包含包含代码的项目的子文件夹。
此外,它还有一个名为Library的文件夹,它具有我们使用的任何第三方dll的正确版本。这个文件夹在版本控制中,因此每个人都有正确版本的第三方dll的
项目中对第三方dll的所有引用都是相对于 Library 文件夹的。
由于每个人都在自己的计算机上拥有SourceCode文件夹,因此可以正常运行。
编辑: 添加了具有库内容的解决方案文件夹的图像