3

我试图弄清楚如何管理我们的主要 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 才能工作)。

你是如何解决这个要求的?

4

2 回答 2

1

Here's a Microsoft Connect suggestion requesting simular features, (this one's mine actually). Unfortunatly references do not update with your solution build configurations very well. It forces you to split up your project and maintain redundant project/solutions in some cases (like binary references).

If you can build all of your project from source then you have nothing to worry about, but this is rare, and you can see in the connect suggestion, it's not possiable for some system dependencies.

Here's a blog post for some heavy duty for build customization.

于 2011-03-29T07:47:01.757 回答
0

您可以尝试使用 NuGet 并托管您自己的包源吗?

于 2011-01-20T10:03:39.037 回答