2012-03-10 12 views
7

Cuando intento de forma estándar, me quejo de una referencia no admitida y parece que no puedo usar ninguna de mis clases.¿Cómo hace referencia a una biblioteca de clase C# desde una aplicación metropolitana Win8 Javascript?

+1

¿Qué clase de biblioteca de clase C es esta? ¿Se dirige a .NETCore? ¿Produce un .winmd? –

+2

Para ser más específicos, al crear el proyecto de la biblioteca de clase, asegúrese de usar la plantilla en "Windows Metro style" en lugar de solo "Windows": de esa manera obtendrá el .winmd y todo lo demás necesario para esto. trabajo. No puede hacer referencia a un proyecto de biblioteca de clase vanilla de esa manera. –

+1

Además del tipo específico de biblioteca de clases de metro, también puede crear un proyecto de biblioteca portátil que puede ser utilizado a través de metro y .NET estándar (también es compatible con Silverlight y WP7), pero sólo permite el subconjunto de la funcionalidad que es común a través de las plataformas que usted escoge . –

Respuesta

4

Necesita crear un componente de Windows Runtime creando una biblioteca de clases desde la plantilla "Visual C#" -> "Windows Metro Style" -> "Biblioteca de clases". Luego, en las propiedades de dicho proyecto de biblioteca de clases que necesita para marcar el tipo de salida como "WinMD archivo"

instrucciones Better se pueden encontrar aquí:

http://msdn.microsoft.com/en-us/library/windows/apps/hh779077(v=vs.110).aspx

Esto no se dice en la documentación y probablemente sea solo un error con Windows 8 Consumer Preview y Visual Studio 11 Beta, pero asegúrese de no incluir un punto en el nombre del proyecto al que hace referencia. Por ejemplo, estaba trabajando en una aplicación de automóvil, así que hice una asamblea llamada "Car.Business". La aplicación siempre se bloqueaba con una pantalla de inicio en blanco cada vez que intentaba hacer referencia a esto. Si, por otro lado, solo utilicé "Negocio" como nombre del ensamblaje, la aplicación funcionaría bien.

Cuestiones relacionadas