Visual studio 在Visual Studio中处理多个项目/解决方案的最佳方法?

Visual studio 在Visual Studio中处理多个项目/解决方案的最佳方法?,visual-studio,projects-and-solutions,Visual Studio,Projects And Solutions,目前,我有4个独立项目的解决方案,但在应用程序的一些领域,有相当多的重复代码 目前,它只是一些表单及其相关代码 当我想改变或改进某些东西时,我必须复制并粘贴到所有相关的项目中 我考虑过在.dll/类库的一个解决方案中创建一个新项目,但我觉得这是不正确的。(如果我错了,请说) 由于它是所有应用程序的一个组件,我决定为.dll/类库创建一个新的解决方案,并考虑将共享代码移到该解决方案上——但是,由于以前从未走过这条路线,我的选择是什么 如果我需要进行简单更改并在所有项目中更新此解决方案,那么我是否能

目前,我有4个独立项目的解决方案,但在应用程序的一些领域,有相当多的重复代码

目前,它只是一些表单及其相关代码

当我想改变或改进某些东西时,我必须复制并粘贴到所有相关的项目中

我考虑过在.dll/类库的一个解决方案中创建一个新项目,但我觉得这是不正确的。(如果我错了,请说)

由于它是所有应用程序的一个组件,我决定为.dll/类库创建一个新的解决方案,并考虑将共享代码移到该解决方案上——但是,由于以前从未走过这条路线,我的选择是什么


如果我需要进行简单更改并在所有项目中更新此解决方案,那么我是否能够将此解决方案包含在其他解决方案中?或者,我是否应该始终在使用它的应用程序之外的Visual Studio的单独实例中处理共享组件?

这正是处理此情况的正确方法

通过右键单击解决方案并选择“添加现有项目”,可以在多个解决方案中包含项目


然后所做的任何更改都将显示在所有解决方案中。这导致的唯一问题是有可能将一个解决方案与另一个解决方案分开。这就是基于提交到源代码管理的自动构建的地方。

将公共代码移动到单独的共享程序集中是一个很好的选择

需要考虑的一件事是,将通用业务逻辑或业务对象类型代码与UI相关代码(如自定义控件)分开,如果需要,则使用两个通用程序集。这在开始时需要做更多的工作,但当您需要更改UI或更改正在使用的控制套件时,这会使事情变得更加容易

  • 将共享代码作为类库放在单独的解决方案/项目中
  • 在共享项目的生成后事件中,将dll复制到特定目录
  • 将此目录中的共享dll添加到其他项目/解决方案

  • 通过每次构建消费者项目时执行此操作,他们将自动使用最新的dll。

    感谢您的帮助。-为了清楚起见,我应该为共享功能创建独立的解决方案,然后转到其他解决方案并选择添加项目?。。。我不喜欢将新项目直接添加到现有解决方案中的原因是因为我认为它以某种方式将其与该解决方案联系起来,并且只能在那里使用-我错了吗?您可以在现有解决方案中创建一个项目,然后将其添加到其他解决方案中。然后你可以在已经存在的项目中添加对该项目的引用。@pdr-我不能说我马上就真正理解了你,但我只是尝试了一下(只允许共享msgbox,但你必须从某个地方开始!),我不敢相信这是多么简单和直接。非常感谢您的帮助。与在所有解决方案中共享现有项目相比,有一件事可能会变得复杂,那就是自动构建和持续集成,但这一切都是可能的