在Visual Studio中使用多个项目/解决方案的最佳方式?

时间:2010-08-01 21:12:20

标签: visual-studio projects-and-solutions

目前我有4个独立项目的解决方案,但是在应用程序的几个方面有相当多的重复代码。

目前它只是一些表格及其相关代码。

当我想要更改或改进某些内容时,我必须复制并粘贴到所有相关项目。

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

由于它是所有应用程序的一个组件,我决定为.dll /类库创建一个新的解决方案,我正在考虑将共享代码移到那个 - 但是,从来没有沿着这条路走下去,是什么我可以从这里选择吗?

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

3 个答案:

答案 0 :(得分:16)

这正是处理这种情况的正确方法。

您可以通过右键单击解决方案并选择添加现有项目...

,在多个解决方案中包含项目

您所做的任何更改都将显示在所有解决方案中。这导致的唯一问题是可以将一个解决方案从另一个解决方案中解脱出来。这是自动构建提交源代码控制的地方。

答案 1 :(得分:10)

  1. 将共享代码放在单独的Solution / Project中作为类库,
  2. 在共享项目的后期构建事件中,将dll复制到特定目录,
  3. 将此目录中的共享dll添加到其他项目/解决方案
  4. 每次构建消费者项目时,他们都会自动使用最新的dll。

答案 2 :(得分:3)

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

要考虑的一件事是将公共业务逻辑或业务对象类型代码与UI相关代码(如自定义控件)分开 - 如果您需要具有两个通用程序集。这是最初的工作,但是当您需要进行UI更改或更改正在使用的控件套件时,可以更加轻松地进行操作。