像大多数人一样,我们使用第三方库。许多有我们保留在我们的 VCS 中的源代码。
目前,如果这些库被更新,我们需要手动拉取源代码并重建二进制文件。
我正在尝试找到一种方法来从使用它们的各种解决方案中引用它们,以便在您拉取依赖项目时自动从源代码管理中提取它们,并在它们过时时自动构建它们。能够使用提供的源调试它们也很好。
我遇到的第一个问题是库与依赖项目不在同一个解决方案根目录中。例如。
\Libraries
\External
\Lib1
Lib1.sln
\Products
\Product1
Product1.sln
尝试添加Lib1.csproj
到我的Product1
解决方案会给我警告:
您尝试添加到源代码管理的项目可能会导致其他源代码管理用户难以打开此解决方案或获取其更新版本。要避免此问题,请从解决方案中其他源代码控制项目的绑定根 (C:\depot\Products\Products1) 下方的位置添加项目。
如果我忽略这一点,那么我可以正确设置构建依赖项,但它仍然不允许一次性拉出整个源代码树。
我想知道其他人如何设置第三方库,尤其是在有源代码的情况下。(我们正在使用 Perforce,但我想这个问题与任何 VCS 相关)