如何在不将项目包含在我的解决方案中的情况下使用项目中的类?

时间:2014-05-29 21:54:04

标签: c# .net architecture dependencies projects-and-solutions

我有一个网络解决方案,如下所示:

Domain (solution folder)

    Artemis.Core (project in solution)
        Interfaces (project folder)
            IRepository.cs
        Address.cs
        ...
        User.cs

    Artemis.Data (project in solution)
        Repository.cs

Artemis.User (project in solution)
    IUserOrderTask.cs
    IUserProfileTask.cs
      ...

Artemis.Tasks.User (project in solution)
    UserOrderTask.cs
    UserProfileTask.cs
    ...

Artemis.WebSite (project in solution)
   Controllers (project folder)
   Models (project folder)
   Views (project folder)
   ...

此解决方案中还有很多其他项目和文件。它是一个复杂的依赖网络,我被要求减少。以下是每个项目的依赖关系,按金额排序:

Artemis.WebSite取决于:

  • Artemis.Core
  • Artemis.Data
  • Artemis.User
  • Artemis.Tasks.User

Artemis.Tasks.User取决于:

  • Artemis.Core
  • Artemis.User

Artemis.User和Artemis.Data依赖于:

  • Artemis.Core

最后,Artemis.Core完全不依赖。

我的任务是从Artemis.WebSite 明确依赖的解决方案中删除所有内容。大多数这些项目都用在其他网站的多个解决方案中,因此除了User.cs(例如)之外,从Artemis.Core中删除所有内容都不是一种选择。

如何在不修改项目的情况下执行此操作?

1 个答案:

答案 0 :(得分:4)

您可以添加特定的CS文件作为项目的链接,这样可以在不触及原始项目的情况下引入类,或者复制文件。

  1. 右键单击目标项目
  2. 选择添加现有项目...
  3. 选择您想要的CS文件"添加"。
  4. 请勿点击添加
  5. 点击添加旁边的下拉箭头,然后选择添加为链接