c#引用错误

Visual C# Reference: Errors and Warnings

Compiler Error CS0012Processing

Error Message
The type 'type' is defined in an assembly that is not referenced. You must add a reference to assembly 'assembly'.

The definition for a referenced type was not found. This could occur if a required .DLL file is not included in the compilation. For more information, see Add Reference Dialog Box and /reference (Import Metadata) (C# Compiler Options).

The following sequence of compilations will result in CS0012:

Copy Code

// cs0012a.cs

// compile with: /target:library

public class A {}

Then:

Copy Code

// cs0012b.cs

// compile with: /target:library /reference:cs0012a.dll

public class B

{

   public static A f()

   {

      return new A();

   }

}

Then:

Copy Code

// cs0012c.cs

// compile with: /reference:cs0012b.dll

class C

{

   public static void Main()

   {

      object o = B.f();   // CS0012

   }

}

You could resolve this CS0012 by compiling with /reference:cs0012b.dll;cs0012a.dll, or in Visual Studio by using the Add Reference Dialog Box to add a reference to cs0012a.dll in addition to cs0012b.dll.

我碰到这个错误是因为用到了一个类中的静态方法,而该类又实现了一个借口,而我又没有引用该接口。

解决办法很简单,在vs里面添加对接口的引用就可以了。就像上面所说的,根本问题在于类的连环引用。

你可能感兴趣的:(C#)