对于我们的一个主要系统,我们有一个相当大的解决方案,我们终于做了一些很久以前应该做的事情,但是嘿。
- 主要的
- 开发(新开发)
- 服务包(错误修复)
- 释放(锁定,目前与客户有关)
我们刚刚获得了我们的主要解决方案,使其无错误(经过测试并为客户签名准备就绪),因此现在是实施该解决方案的正确时机。然而,我们的主要解决方案是这样的:
- 主要的
- 项目A
- 参考 A (C:\DLLS)
- 参考 B (C:\DLLS)
- 项目B(本地参考)
- 项目 B
- 参考 A (C:\DLLS)
- 参考 B (C:\DLLS)
在我们有直接关系项目的地方,它们往往是我们应用程序的模块并在本地引用(项目 B)。外部引用是自定义实用程序类,它们不驻留在解决方案中,因此被构建并放在一个文件夹中(如果我们只有一个解决方案而不是现在我们正在考虑分支,这很好)。
问题
现在的问题是我正在分支,每个分支都将引用一个部分,并且不能逐个分支地更改代码。我希望能够加载当前MAIN
并查看它有哪些引用以及它们在解决方案中的位置,我尝试使用reflection
and但这仅Assemblies
提供MAIN.EXE
引用的 .DLL 的信息,例如它们的名称而不是项目所在的位置期待他们成为。然后我继续看Microsoft.Build.BuildEngine
Project p = new Project();
//This is the cs/vb project file
p.Load(_projectPath);
var v = p.Imports;
这不是正确的。本质上,我正在尝试获取给定项目文件的参考位置列表,关于我能做什么的任何可能的建议?