![]() |
1
29
这个问题突然出现在 different 但是 related 形式。实际上有一个 MSDN page that covers this . 您要寻找的是一种类似于 大系统的分区单解模型 . 拥有一个“一切”解决方案,可以构建一切并维护组件间的依赖关系。这是您在需要构建解决方案A时构建的解决方案。然后,您将拥有单独的解决方案,只包含组件B或C。本质上,您仍将拥有3个解决方案,但您将把解决方案B和C中的项目添加到解决方案A中。 |
![]() |
2
4
我最近发现,在Visual Studio 2008中,可以在多个解决方案中包含现有项目。到目前为止唯一的缺点似乎是,如果您对共享项目进行了更改,并且打开了多个使用该共享项目的解决方案,那么您将被要求“重新加载”其他解决方案。 所以,只需“添加现有项目”到所有需要该项目的解决方案中。我正在我当前的站点上使用TFS,并且似乎没有源代码管理乙醚的问题。 |
![]() |
3
3
我相信这应该是你所关注的项目级别。构建解决方案B和C中包含的项目,然后在解决方案A中的相关项目中添加对DLL的引用。 在msbuild中,如果有属性组
然后执行msbuild任务
希望这有帮助 |
![]() |
4
1
您可以尝试自动执行合并过程以节省一些时间: http://code.google.com/p/merge-solutions/ 尽管我们的问题略有不同:大约有15个解决方案(总共150个项目)使用一个公共库。问题是,如果我们试图将所有代码合并为一个,以便从公共库中重构/消除冗余代码。 1。合并15个解决方案需要大量的点击和等待 2。结果的解决方案从来都不是最新的-没有人因为它的大小而费心更新它。 |
![]() |
5
0
您可以尝试为您在项目的预生成事件(在解决方案A中)所依赖的dll(在解决方案B和C中)添加命令行生成命令。 |
![]() |
6
0
如果不能将项目B和C与项目A放在同一个解决方案中,那么在构建项目A时,就无法确保为B和C提供包含最新源代码的二进制文件。 我看到的最简单的解决方案是在源代码存储库中有一个公共文件夹,在该文件夹中,如果需要共享二进制文件,每个项目都会复制它们。然后,只要本地文件夹与存储库相同,所有其他项目都可以引用该文件夹中的二进制文件。 不是一个完美的解决方案,但很容易使用。 |
![]() |
7
0
可以将生成文件项目添加到解决方案A中,该解决方案将生成解决方案B和C(例如使用msbuild),并使该生成文件项目中的所有项目都依赖于该生成文件项目。通过这种方式,您将无法向B和C中的项目添加项目引用,但您可以使用dll引用,并且它们将始终从最新的源构建。 |
![]() |
8
0
根据 this answer ,我建议你 创建自己的批处理文件 这将为您构建相关的解决方案。 这非常方便使用,因为生成过程会将生成进度(类似于Visual Studio中的输出窗口)输出到针对每个生成执行的命令升级。 此外,在需要先构建一个解决方案再构建另一个解决方案的情况下,可以编写自己的构建顺序,例如:
我很快就写了 script to clarify the build order mentioned above 并支持大多数现代Visual Studio版本。 当做。 |
![]() |
Helic · 引用项目中的Visual Studio生成事件 10 月前 |
![]() |
Fardin Jim · React中的HandleError 10 月前 |
![]() |
Sam · 返回Visual Studio中文档注释中的标记 11 月前 |
![]() |
Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |
![]() |
xTMx · 如何修复恢复自定义Nuget软件包的问题? 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Max · VS 2022中的缩放级别在哪里 1 年前 |