2010-08-01 166 views
21

目前我有4个解决方案是独立的项目,但是当涉及到几个应用领域时,有相当多的重复代码。在Visual Studio中使用多个项目/解决方案的最佳方式?

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

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

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

因为它是所有应用程序的组件,所以我决定为.dll/class库创建一个新的解决方案,并且正在考虑将共享代码移动到那个位置 - 但是,从未沿用过此路线,我从这里有什么选择?

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

回答

16

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

可以包括通过右键单击该解决方案,然后选择添加现有项目...

在多个解决方案项目进行任何改变,那么你做将出现在所有的解决方案。这导致的唯一问题是可能会破坏另一个解决方案。这是自动构建源代码控制承诺的地方。

+1

谢谢你。 - 要清楚,我应该为共享功能创建独立解决方案,然后转到其他解决方案并选择添加项目?......我不想直接将新项目添加到现有解决方案的原因是因为我认为它以某种方式将它与该解决方案联系起来,只能在那里使用 - 我错了吗? – Wil 2010-08-01 21:42:07

+1

您可以在现有解决方案中创建项目并将其添加到其他项目中。然后,您可以在已存在的项目中添加项目引用。 – pdr 2010-08-01 21:46:52

+1

@pdr - 我不能说我真的很了解你,但我只是尝试了它(只与共享msgbox授予 - 但你必须从某处开始!),我不能相信它是多么容易和直接是。非常感谢您的帮助。 – Wil 2010-08-02 12:39:23

3

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

需要考虑的一件事就是让您的通用业务逻辑或业务对象类型代码与用户界面相关的代码(如自定义控件)分开 - 如果需要的话,则需要有两个通用程序集。开始时这是更多的工作,但是当您需要进行UI更改或更改您正在使用的控制套件时,使事情更轻松。

在单独的解决方案/项目作为类库
+0

非常感谢您的帮助 – Wil 2010-08-02 12:39:44

10
  1. 认沽共享代码,
  2. 在后期制作共享项目的生成事件的DLL复制到指定目录,
  3. 从这个目录中添加共享的DLL的其他项目/解决方案

通过这样做,每次你建立你的消费者项目,他们会自动使用最新的DLL。

+0

非常感谢您的帮助。 – Wil 2010-08-02 12:41:16

+0

比在所有解决方案中共享现有项目要好得多,但它可能会使复杂的一件事是自动构建和持续集成,但所有可能的 – mikus 2016-01-11 17:57:30

相关问题