我试图弄清楚如何管理我们的主要 Visual Studio 解决方案。在解决方案中,我们必须管理由其他团队管理并经常更新的 C++/CLI 项目、C++ 本地项目、C# 项目、外部依赖项(具有自己依赖项的编译 C# 程序集)和经常更新(连同他们的依赖项)。
每种类型的项目都可以相互依赖(当然除了 C# 或 C++ native)。
一些 C# 项目依赖于外部 DLL,这可能需要其他一些 DLL 才能正常工作。
到目前为止,我们已经使用构建后步骤将引用复制到每个项目的输出目录(外部编译的 C# 库和所需的 C++ DLL 的附加依赖项)。我们想自动化这个过程。项目很多,外部 DLL 通常由其他团队管理(有时他们会添加越来越多的依赖项),我们希望他们所做的每一个更改都能自动反映在我们的主项目中。
是否有工具,批处理文件的最佳实践,或者不会在这种依赖地狱中迷失自己,并且每次在解决方案中包含新项目时都进行 svn 更新和一些配置工作?
我的一个问题是,如果我有一个需要 C# project1a.dll 和 C# project 1b.dll 的 C# project1.dll,如果我的 C# project2 需要 project1.dll,我不想将 project1a.dll 和 project1b.dll 添加到 project2 引用但我想在我的输出文件夹中找到它(这是因为 project1a 由另一个团队管理,并且每天可能需要 project1x.dll 才能工作)。
你是如何解决这个要求的?