【发布时间】:2017-03-15 18:50:29
【问题描述】:
我在工作中遇到了一个奇怪的情况,我在多个项目中使用同一个库,但不是以标准方式。
假设我们有一个名为“MainProject”的主项目,不出所料。
我们还有一个名为“A”的共享库和另一个名为“B”的库。
假设“B”是一个广泛的实用程序库,其中包含很多东西,并且被库“A”和“MainProject”使用。
所有这些项目/库都将 Git 作为其 VCS,并配置有子模块:
主项目:
- B库子模块
- 库 A
- B库子模块
现在在尝试重建“MainProject”的解决方案时出现问题。
Visual Studio 输出错误:
找不到错误 1 元数据文件“LibraryA_Path\LibraryB.dll”
搜索这个问题后,我发现有些东西没有按照我的预期构建。
没错——“A”没有构建它引用的“B”,可能是因为它嵌套得太深了。
然后我尝试将“A”的引用显式设置为“MainProject”的“B”,这解决了构建问题,但强制更改库的 Git 工作树,这意味着对该库的任何更新都会强制我重新做这个手动引用的过程。
那么配置此类项目的正确方法是什么?我可以尝试任何事情,因为我可以完全控制所有项目和库 - 在代码和 Git 中。
【问题讨论】:
标签: c# git visual-studio dependencies git-submodules