Error del compilador CS1613

Actualización: noviembre 2007

Mensaje de error

No se puede encontrar la clase contenedora de la coclase administrada 'clase' para la interfaz 'interfaz' (¿falta una referencia de ensamblado?)
The managed coclass wrapper class 'class' for interface 'interface' cannot be found (are you missing an assembly reference?)

Se intentó crear una instancia de un objeto COM a partir de una interfaz. La interfaz tiene los atributos ComImport y CoClass, pero el compilador no encuentra el tipo dado para el atributo CoClass.

Para solucionar este error, pruebe una de las siguientes opciones:

  • Agregue una referencia al ensamblado que tiene la coclase (en la mayoría de ocasiones, la interfaz y la coclase se encontrarán en el mismo ensamblado). Vea /reference o Agregar referencia (Cuadro de diálogo) para obtener más información.

  • Corrija el atributo CoClass en la interfaz.

En el siguiente ejemplo se muestra el uso correcto de CoClassAttribute:

// CS1613.cs
using System;
using System.Runtime.InteropServices;

[Guid("1FFD7840-E82D-4268-875C-80A160C23296")]
[ComImport()]
[CoClass(typeof(A))]
public interface IA{}
public class A : IA {}

public class AA
{
   public static void Main()
   {
      IA i;
      i = new IA(); // This is equivalent to new A().
                    // because of the CoClass attribute on IA
   }
}