<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0246</ErrorName>
  <Examples>
    <string>// CS0246: The type or namespace name `Nonexistant' could not be found. Are you missing an assembly reference?
// Line: 5

using System;
using Nonexistant;

class X
{
	static void Main () {
	}
}

</string>
    <string>// CS0246: The type or namespace name `aa' could not be found. Are you missing an assembly reference?
// Line: 6

public class Test
{
	[aa.bb] int dummy;
}

</string>
    <string>// CS0246: The type or namespace name `RNGCryptoServiceProvider' could not be found. Are you missing `System.Security.Cryptography' using directive?
// Line: 13

using System;

namespace System.Web.Configuration
{
	class MachineKeyConfig
	{
		static MachineKeyConfig ()
		{
			autogenerated = new byte [64];
			RNGCryptoServiceProvider cp = new RNGCryptoServiceProvider ();
			cp.GetBytes (autogenerated);
		}
	}
}

</string>
    <string>// CS0246: The type or namespace name `class' could not be found. Are you missing an assembly reference?
// Line: 9
using System;

public class classAttribute : Attribute
{
}

[@class]
class Foo
{
}
</string>
    <string>// CS0246: The type or namespace name `Uri' could not be found. Are you missing `System' using directive?
// Line: 7

public interface IFoo
{
        string Heh { get; } // significant to cause the error.
        Uri Hoge (); // note that it cannot be resolved here.
}

public class Foo : IFoo
{
        string IFoo.Heh { get { return null; } }
        public System.Uri Hoge () { return null; }
}

</string>
    <string>// CS0246: The type or namespace name `InvalidTypeBlah' could not be found. Are you missing an assembly reference?
// Line: 17

//
// This test is here to test that the compiler does not crash after it
// reports the error due to an invalid type being referenced in the 
// delegate
//
using System;

public class AnonDelegateTest 
{
        public delegate void TestDelegate(AnonDelegateTest something, string b);

        public static void Main()
        {
                AnonDelegateTest test = new AnonDelegateTest();
                
                // Incorrect; mcs throws unhandled exception here
                test.Call(delegate(InvalidTypeBlah something, string b) {
                        Console.WriteLine(b);
                });
        }

        public void Call(TestDelegate d)
        {
                d(this, "Hello");
        }
}


</string>
    <string>// CS0246: The type or namespace name `B' could not be found. Are you missing an assembly reference?
// Line: 4

class A : B
{
        public class B
        { }
}
</string>
    <string>// CS0246: The type or namespace name `Foo' could not be found. Are you missing an assembly reference?
// Line: 4

using Foo;
</string>
    <string>// CS0246: The type or namespace name `dynamic' could not be found. Are you missing an assembly reference?
// Line: 9
// Compiler options: -langversion:ISO-2

class C
{
	public static void Main ()
	{
		dynamic d = 9;
	}
}
</string>
    <string>// CS0246: The type or namespace name `aGgt' could not be found. Are you missing an assembly reference?
// Line: 13

using System;

class C
{
	public static void Main ()
	{
		try {
			throw null;
		} catch (ArgumentException) {
		} catch (aGgt) {
		}
	}
}
</string>
    <string>// CS0246: The type or namespace name `ErrorType' could not be found. Are you missing an assembly reference?
// Line: 5

interface A {
        event ErrorType Test;
}
</string>
    <string>// CS0246: The type or namespace name `C' could not be found. Are you missing an assembly reference?
// Line: 5

using C = Cks.Runtime.Data;
using BigInteger = C.BigInteger;

namespace Cks.Runtime.Data
{
	public class BigInteger {}
}
</string>
    <string>// CS0246: The type or namespace name `IBase' could not be found. Are you missing `Foo' using directive?
// Line: 15

namespace Foo {
        public interface IBase {
                object X { get; }
        }
}

public interface IDerived&lt;T&gt; : Foo.IBase {
        T X { get; }
}

public class Test&lt;T&gt; {
        public class Y : IDerived&lt;T&gt;, IBase
        {
                public T X { get { return default (T); } }
                object Foo.IBase.X {
                        get { return default (T); }
                }
        }
}
</string>
    <string>// CS0246: The type or namespace name `var' could not be found. Are you missing an assembly reference?
// Line: 8

class C
{
	public static void Main ()
	{
		var[] v = new int[0];
	}
}
</string>
    <string>// CS0246: The type or namespace name `var' could not be found. Are you missing an assembly reference?
// Line: 8


class X
{
	public X ()
	{
		var? u = i;
	}
}
</string>
    <string>// CS0246: The type or namespace name `TypeMe' could not be found. Are you missing an assembly reference?
// Line: 12

class C
{
	static void Foo&lt;T&gt; (int i)
	{
	}

	public static void Main ()
	{
		Foo&lt;TypeMe&gt; (1);
	}
}
</string>
    <string>// CS0246: The type or namespace name `X' could not be found. Are you missing an assembly reference?
// Line: 4

class A&lt;T&gt; where T : X
{
	public class X {}
}
</string>
    <string>// CS0246: The type or namespace name `M' could not be found. Are you missing an assembly reference?
// Line: 11

interface I&lt;T&gt;
{
	void G&lt;TT&gt; ();
}

class C
{
	void I&lt;M&gt;.G&lt;M&gt; ()
	{
	}
	
	public static void Main ()
	{
	}
}
</string>
    <string>// CS0246: The type or namespace name `NotExist' could not be found. Are you missing an assembly reference?
// Line: 6

class X
{
	NotExist&lt;float&gt; foo;
}
</string>
    <string>// CS0246: The type or namespace name `B' could not be found. Are you missing an assembly reference?
// Line: 4

class A : C&lt;B&gt;
{
  class B {}
}
 
interface C&lt;X&gt; {}
</string>
    <string>// CS0246: The type or namespace name `B' could not be found. Are you missing an assembly reference?
// Line: 8

class X
{
	public static void Main ()
	{
		B b;
	}
}</string>
    <string>// CS0246: The type or namespace name `ErrorType' could not be found. Are you missing an assembly reference?
// Line: 5

interface A {
        ErrorType Method();
}
</string>
    <string>// CS0246: The type or namespace name `T' could not be found. Are you missing an assembly reference?
// Line: 13

using System;
using System.Collections.Generic;

class X
{
	public static void Main ()
	{
		Foo (() =&gt; {
			IEnumerable&lt;object&gt; f = null;
			foreach (KeyValuePair&lt;int, T&gt; e in f) {
			}
		});

	}

	static void Foo (Action a)
	{
	}
}</string>
    <string>// CS0246: The type or namespace name `Etp' could not be found. Are you missing an assembly reference?
// Line: 8

class Test
{
	static void Main ()
	{
		try {
		} catch (Etp e) {
		} catch {
		}
	}
}
</string>
    <string>// CS0246: The type or namespace name `dynamic' could not be found. Are you missing an assembly reference?
// Line: 4

using dynamic;</string>
    <string>// CS0246: The type or namespace name `dynamic' could not be found. Are you missing an assembly reference?
// Line: 4

using static dynamic;</string>
    <string>// CS0246: The type or namespace name `wrong' could not be found. Are you missing an assembly reference?
// Line: 15

using System;

class X
{
	static void Foo&lt;T&gt; () where T : class
	{
	}

	public static void Main ()
	{
		Action a = () =&gt; {
			Foo&lt;wrong&gt; ();
		};
	}
}</string>
    <string>// CS0246: The type or namespace name `B' could not be found. Are you missing an assembly reference?
// Line: 21

using static A;

class A : B
{
}

class P
{
	public class N&lt;T&gt;
	{
	}
}

class Test
{
	public static void Main ()
	{
		var n = default (N&lt;int&gt;);
	}
}</string>
    <string>// CS0246: The type or namespace name `Foo' could not be found. Are you missing an assembly reference?
// Line: 8

class Crashy
{
	void Call (System.Action&lt;object&gt; action) { }

	public void DoCrash () =&gt; Call (f =&gt; f as Foo);
}
</string>
    <string>// CS0246: The type or namespace name `ErrorType' could not be found. Are you missing an assembly reference?
// Line: 4

public delegate ErrorType Delegate ();
</string>
    <string>// CS0246: The type or namespace name `AAAA' could not be found. Are you missing an assembly reference?
// Line: 7

using System;
[assembly:CLSCompliant (true)]

[AAAA(false)]
public sealed class Region
{
    public Region() {}
}
</string>
    <string>// CS0246: The type or namespace name `XmlDocument' could not be found. Consider using fully qualified name `System.Xml.XmlDocument'
// Line: 6

using System;
using System.Xml;
using Document = XmlDocument;

public class Test {
	public static void Main ()
	{
	}
}
</string>
    <string>// CS0246: The type or namespace name `foo' could not be found. Are you missing an assembly reference?
// Line: 5

struct bar {
        foo foo;
}

</string>
    <string>// CS0246: The type or namespace name `Reflection' could not be found. Are you missing an assembly reference?
// Line: 7
using System;

class foo {
    static void Main(string[] args ) {    
        Reflection.ConstructorInfo ci;        
    }
} 

</string>
    <string>// CS0246: The type or namespace name `DllImport' could not be found. Are you missing an assembly reference?
// Line: 16

using System;
using System.Threading;

public class Test
{
	static void Main ()
	{
		var tr = new Thread (delegate () {
			Foo ();
		});
	}

	[DllImport ("Foo")]
	extern static void Foo ();
} 
</string>
    <string>// CS0246: The type or namespace name `B' could not be found. Are you missing an assembly reference?
// Line: 4
interface A : B {
}

class X {
	static void Main () {
	}
}

</string>
  </Examples>
</ErrorDocumentation>