<?xml version="1.0" encoding="us-ascii"?>
<ErrorDocumentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ErrorName>CS0647</ErrorName>
  <Examples>
    <string>// cs0647-10.cs: Error during emitting `System.Runtime.InteropServices.MarshalAsAttribute' attribute. The reason is `Specified unmanaged type is only valid on fields'
// Line: 10

using System;
using System.Runtime.InteropServices;

public class main {

    [DllImport("libname", EntryPoint = "scumbag")]
    static extern int scumbag(ref int X, [MarshalAs(UnmanagedType.ByValArray)] ref byte[] fb);
}
</string>
    <string>// cs0647-11.cs: Error during emitting `System.Runtime.InteropServices.MarshalAsAttribute' attribute. The reason is `Specified unmanaged type is only valid on fields'
// Line: 10

using System;
using System.Runtime.InteropServices;

public class main {

    [DllImport("libname", EntryPoint = "scumbag")]
    static extern int scumbag(ref int X, [MarshalAs(UnmanagedType.ByValArray)] ref byte[] fb);
}
</string>
    <string>// CS0647: Error during emitting `System.Runtime.InteropServices.DllImportAttribute' attribute. The reason is `DllName cannot be empty'
// Line: 8

using System.Runtime.InteropServices;
using System;

class X {
	[DllImport ("")]
	extern static void Blah ();

    static void Main (string [] args)
    {
    }

}
</string>
    <string>// CS0647: Error during emitting `System.Runtime.InteropServices.DllImportAttribute' attribute. The reason is `DllName cannot be empty'
// Line: 8

using System.Runtime.InteropServices;
using System;

class X {
	[DllImport (null)]
	extern static void Blah ();

    static void Main (string [] args)
    {
    }

}
</string>
    <string>// cs0647-14.cs: Error during emitting `System.Security.Permissions.FileIOPermissionAttribute' attribute. The reason is `Absolute path information is required
// Line: 9

using System;
using System.Security.Permissions;

public class Program {

	[FileIOPermission (SecurityAction.Demand, PathDiscovery="..%%\\")]
	static public int Main (string[] args)
	{
		return 0;
	}
}
</string>
    <string>// cs0647.cs: Error during emitting `System.Runtime.CompilerServices.MethodImplAttribute' attribute. The reason is `Incorrect argument value.'
// Line: 8

using System.Runtime.CompilerServices;

class Test
{
	[MethodImplAttribute(444)]
	public void test ()
	{
	}
}</string>
    <string>// cs0647-16.cs: Error during emitting `System.Reflection.AssemblyCultureAttribute' attribute. The reason is `The executables cannot be satelite assemblies, remove the attribute or keep it empty'
// Line: 7

using System;
using System.Reflection;

[assembly: AssemblyCulture("es")]
[assembly: AssemblyVersion("1.2.3456.7")]

namespace NS 
{
	class MyClass 
	{
		static void Main ()
		{
			Console.WriteLine (typeof(MyClass).Assembly.FullName);
		}
	}
}
</string>
    <string>// Cs0647: Error during emitting `System.Reflection.AssemblyVersionAttribute' attribute. The reason is `Specified version `0.0.0.80420' is not valid'
// Line: 7

using System;
using System.Reflection;

[assembly: AssemblyVersion ("0.0.0.80420")]

public class Test {

	public static int Main ()
	{
		return 1;
	}
}
</string>
    <string>// CS0647: Error during emitting `System.Reflection.AssemblyVersionAttribute' attribute. The reason is `Specified version `2.0.*.*' is not valid'
// Line: 6

using System.Reflection;

[assembly: AssemblyVersion("2.0.*.*")]
</string>
    <string>// CS0647: Error during emitting `System.Reflection.AssemblyVersionAttribute' attribute. The reason is `Specified version `2.*' is not valid'
// Line: 6

using System.Reflection;

[assembly: AssemblyVersion("2.*")]
</string>
    <string>// cs0647-2.cs: Error during emitting `System.Security.Permissions.SecurityPermissionAttribute' attribute. The reason is `SecurityAction `Demand' is not valid for this declaration'
// Line : 10

using System;
using System.Security;
using System.Security.Permissions;

[assembly: SecurityPermission (SecurityAction.Demand, SkipVerification=true)]

class Test
{
	static void Main () {}
}
</string>
    <string>// cs0647-3.cs: Error during emitting `System.Security.Permissions.SecurityPermissionAttribute' attribute. The reason is `SecurityAction `RequestMinimum' is not valid for this declaration'
// Line : 10

using System;
using System.Security;
using System.Security.Permissions;

public class Program {

	[SecurityPermission (SecurityAction.RequestMinimum, ControlPrincipal=true, Flags=SecurityPermissionFlag.ControlPrincipal)]
	static public void Main (string[] args)
	{
	}
}
</string>
    <string>// cs0647-4.cs: Error during emitting `DebugPermissionAttribute' attribute. The reason is `it is attached to invalid parent'
// Line : 10

using System;
using System.Security;
using System.Security.Permissions;

public class Program {

	[DebugPermission (SecurityAction.RequestMinimum)]
        public int i;
}

[AttributeUsage (AttributeTargets.All, AllowMultiple = true, Inherited = false)]
[Serializable]
public class DebugPermissionAttribute : CodeAccessSecurityAttribute {

	public DebugPermissionAttribute (SecurityAction action)
		: base (action)
	{
	}
        
	public override IPermission CreatePermission ()
	{
		return null;
	}
}
</string>
    <string>// cs0647-5.cs: Error during emitting `DebugPermissionAttribute' attribute. The reason is `it is attached to invalid parent'
// Line : 11

using System;
using System.Security;
using System.Security.Permissions;

public class Program {
        public delegate int DisplayHandler (string msg);
     
	[DebugPermission (SecurityAction.RequestMinimum)]
        public event DisplayHandler OnShow;
}

[AttributeUsage (AttributeTargets.All, AllowMultiple = true, Inherited = false)]
[Serializable]
public class DebugPermissionAttribute : CodeAccessSecurityAttribute {

	public DebugPermissionAttribute (SecurityAction action)
		: base (action)
	{
	}
        
	public override IPermission CreatePermission ()
	{
		return null;
	}
}
</string>
    <string>// cs0647-6.cs: Error during emitting `DebugPermissionAttribute' attribute. The reason is `it is attached to invalid parent'
// Line : 11

using System;
using System.Security;
using System.Security.Permissions;

public class Program {

        [return: DebugPermission (SecurityAction.LinkDemand)]
        public int Show (string message)
        {
                return 2;
        }    
}

[AttributeUsage (AttributeTargets.All, AllowMultiple = true, Inherited = false)]
[Serializable]
public class DebugPermissionAttribute : CodeAccessSecurityAttribute {

	public DebugPermissionAttribute (SecurityAction action)
		: base (action)
	{
	}
        
	public override IPermission CreatePermission ()
	{
		return null;
	}
}
</string>
    <string>// cs0647-7.cs: Error during emitting `DebugPermissionAttribute' attribute. The reason is `it is attached to invalid parent'
// Line : 11

using System;
using System.Security;
using System.Security.Permissions;

public class Program {

        [DebugPermission (SecurityAction.LinkDemand)]
        public int Show
        {
            get {
                return 2;
            }
        }    
}

[AttributeUsage (AttributeTargets.All, AllowMultiple = true, Inherited = false)]
[Serializable]
public class DebugPermissionAttribute : CodeAccessSecurityAttribute {

	public DebugPermissionAttribute (SecurityAction action)
		: base (action)
	{
	}
        
	public override IPermission CreatePermission ()
	{
		return null;
	}
}
</string>
    <string>// cs0647-9.cs: Error during emitting `System.Security.Permissions.PrincipalPermissionAttribute' attribute. The reason is `SecurityAction is out of range'
// Line : 10

using System;
using System.Security;
using System.Security.Permissions;

public class Program {

	[PrincipalPermission ((SecurityAction)100, Name="Poupou")]
	public virtual void Show (string message)
	{
	}
}
</string>
    <string>// CS0647: Error during emitting `System.Runtime.InteropServices.GuidAttribute' attribute. The reason is `Invalid Guid format: aaa'
// Line: 6

using System.Runtime.InteropServices;

[Guid ("aaa")]
class X {
static void Main () {}
}
</string>
  </Examples>
</ErrorDocumentation>