添加对移入 class 库的代码的引用

Adding references for code moved into a class library

从我在 Visual Studio 2013 年制作的解决方案中,我想将一个方法传输到 DLL(类库项目)。

当我将方法粘贴到 DLL 项目中时,它无法识别部分代码并显示此错误`:

"are you missing a using directive or an assembly reference?"

因此,无法构建 DLL。我假设需要对解决方案进行一定的参考,但我不确定如何进行。

我知道如何从解决方案添加对 DLL 的引用,但我不确定它是如何以相反的方式完成的,甚至不确定它是否可行。

是的,如果您要移动的代码中使用了原始项目使用的相同引用,您需要恢复这些引用。

如果您需要手动执行此操作(即没有像 ReSharper 这样的工具):

  1. 将代码移至新程序集。
  2. 对于给出错误的每个命名空间或类型,在对象浏览器中找到它。
  3. 找到包含该命名空间和类型的程序集,并在您的新项目中添加对该程序集的引用。

您可能还必须添加对原始项目的项目引用。

您不能从 class 库(假设 EXE 使用那个 class 库)添加对 EXE 的引用,因为它会引入循环引用。

通常您需要重构所有依赖项,以便 class 库拥有所有依赖项或允许应用程序从 EXE/other 客户端注入依赖项。在后一种情况下 class 库需要定义基础 classes/interfaces 以允许此类注入。