在几个项目之间共享c#类源代码

时间:2010-04-19 11:17:53

标签: c# visual-studio code-sharing

我编写了一个将在我的应用程序中处理内部日志记录的类。 现在我想在另一个新的,完全独立的项目中使用这个类。

我可以简单地将文件复制到新的项目文件夹,但我希望只保留一份文件,以便其中的所有更改都适用于两个项目。

我可以使用“添加现有文件”,但是我在哪里放置文件以便下一个开发人员知道它是必需的。我曾经有一个“共享”文件夹,但有一次该文件夹没有被带入下一台开发计算机。

组织此方法的最佳方式是使新维护者最有意义并最大限度地降低项目中断链接的风险。

7 个答案:

答案 0 :(得分:34)

您可以通过这种方式创建具有此类的库项目,您只需添加对该项目的引用即可。

如果这不是选项,您可以使用“右键单击 - >添加现有项目 - >添加为链接”这样您只有一个代码副本,但它可以存在于多个项目中。

答案 1 :(得分:11)

要分享的类库是最佳解决方案。

但是您可以将文件作为链接添加到VS项目而不是复制。为此,请使用“添加现有项目”对话框的“添加”按钮下拉。

答案 2 :(得分:6)

如果您确实需要共享源代码,例如,如果您同时拥有相同程序集的32位和64位版本(如果您依赖本机代码,则需要一些时间),您可以使用这个帖子给出了答案:How do you share code between projects/solutions in Visual Studio?

(在两个项目之间寻找“链接”代码文件。)

答案 3 :(得分:5)

将您的日志记录代码分解为单独的程序集。

然后,您可以在应该使用该记录器的项目中包含该程序集。

它保持一切美观和干净,你只需要维护一组代码,而不必担心每个副本。

答案 4 :(得分:1)

创建一个包含此类的新程序集。

然后所有其他项目都可以引用此程序集并使用其中的类。

答案 5 :(得分:1)

将该类放在一个唯一的命名空间中,然后将该文件添加为您需要使用它的所有项目的链接。确保为要使用该类的唯一命名空间放置using语句,否则您必须完全限定它的每次使用。 对于这样的情况,我认为这比组合更好,因为它不会生成不必要的交叉组件引用,因为它只是您希望在项目之间共享的自己代码的一部分。

答案 6 :(得分:0)

您也可以使用版本控制系统来执行此操作。

我们通常使用Solution和Main Project创建目录,然后将此目录提交给SVN。然后使用svn:external链接所有共享库 - 因此所有Projects都存在于同一个解决方案目录中。

提交后,任何人都可以签出具有所有外部依赖关系的工作解决方案。