Compiler Error CS0012
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:
// cs0012a.cs
// compile with: /target:library
public class A {}
Then:
// cs0012b.cs
// compile with: /target:library /reference:cs0012a.dll
public class B
{
public static A f()
{
return new A();
}
}
Then:
// 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.
Change History
Date |
History |
Reason |
---|---|---|
October 2008 |
Added text. |
Customer feedback. |