2011-11-23 120 views
4

我有几个类以抽象的方式可以在多个项目中使用它们。我一直在研究这些类,优化,添加等。因此,当我在其中一个类中优化某些内容时,我需要将该新版本复制到我记得使用它的每个项目中。这不是一个很好的做法,但有没有更好的方法?更新多个项目中使用的类?

感谢

+1

所有答案提及*类库*项目,这通常是要走的路,尽管可能有理由引用文件而不是编译库;请参考我的回答。 –

回答

2

而不是手动将更新的类复制到每个使用它们的项目,创建一个类库项目并引用每个使用类的项目中的编译文件。这样组织你的班级将帮助你遵循DRY(“不要重复你自己”)的原则。


如果需要,而不是引用编译库的文件,但是,你可以参考一个文件作为一个链接,以便多个项目指向同一个文件,而无需将其复制到每一个解决方案文件夹。为此,请右键单击您的项目,选择添加现有项目...,浏览至.cs文件,然后从右下角的组合框中选择添加为链接

5

把这些基地班在一个单一的项目和不同的解决方案之间共享这个项目作为一个参考的类库。这样您就不必在项目或解决方案之间复制/粘贴任何内容,而且所有内容都应始终保持最新状态。

您甚至可以设置本地NuGet feed,因此您可以使用NuGet以良好结构化和管理的方式检索此共享项目作为参考。

+0

在项目之间同意剪切文件并不总是最好的做法。尝试将普通员工提取到一个或多个库中。除非你有真正的理由不这样做。让我们知道是否有一个。 –

1

如果您将这些类提取到单独的项目中,并在您正在使用的每个项目中添加对此项目的引用,那么该怎么办?

0

创建一个base-lib并将其构建到“共享”位置。在你的项目中添加对它的引用。它将保持其他项目更小,并将更快地构建。

1

在整个应用程序中复制粘贴文件是一个坏主意。要避免这些重复,您可以:

  1. 如果文件数量确实很小,则创建一个链接。在Visual Studio的解决方案浏览器,右键单击,添加现有文件,选择您的文件和拆分按钮,选择添加为纽带
  2. 创建一个单独的项目,并参照这个项目无论是有必要如果文件数量不大不是微小。