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