c# - C++ C# 项目依赖管理

标签 c# .net c++ project-management dependency-management

<分区>

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

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

最佳答案

这是 Microsoft Connect suggestion请求模拟功能,(这实际上是我的)。不幸的是,引用并没有很好地更新您的解决方案构建配置。在某些情况下(如二进制引用),它会迫使您拆分项目并维护冗余项目/解决方案。

如果您可以从源代码 构建您的所有项目,那么您就没有什么可担心的,但这种情况很少见,并且您可以在连接建议中看到,对于某些系统依赖项,这是不可能的。

这是一个 blog post用于构建定制的一些重型任务。

关于c# - C++ C# 项目依赖管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745424/

相关文章:

c++ - 在头文件或源文件中包含 stdafx.h?

c# - wpf - Expander 的标题适合内容宽度?

c# - 从将数据和文件发布到 Web API 的客户端检测到具有潜在危险的 Request.Form 值

.net - Entity Framework .Include()导航另一个导航属性

c# - 在 NodeJS 中模拟 C# 溢出

c# - ElasticSearch 5.x 上下文建议器 NEST .Net

c++ - 取代现有运营商<< : Override Existing Implementation

java - 什么是 C# "Logical Call Context"的 Java 等效项

c# - 使用 ParameterBuilder 将自定义属性添加到返回值;反射时属性不显示——为什么?

c++ - 如何在turbo c++的图形模式下打印变量的值?