Estoy trabajando en un juego usando Unity3D la versión 5. El juego debe utilizar estrictas reglas de negocio ya programado en C# .NET4.5 motor. Usando Xamarin/Mono, esperamos hacer de este se puede utilizar en windows, android, otros…

He intentado con la construcción del motor en un archivo dll y lo utilizan como un administrado plugin en la Unidad. Pero la Unidad utiliza una versión antigua de Mono para compilar todo el juego y se niega a usar .NET 4.5 dll.

Que realmente necesita para utilizar este código, miré a la rebaja se .NET 3.5, pero no es una solución aceptable dado el trabajo ya realizado en el motor.

Sobre android, creo que el uso de Xamarin para obtener nativa de android código y utilizarlo como un plugin nativo en la Unidad. Ahora necesito una solución para Windows. Estoy buscando formas para utilizar el código de C# en C++ para hacer una dll no administradas, pero estoy luchando por entender de qué manera es aplicable en este caso entre la interoperabilidad COM, C++/CLI u otros métodos.

¿ Alguno sabe una manera de incluir código de .NET 4.5 en Unidad con no/poco esfuerzo ?

  • usted tendrá que hacer su clase lib un PCL de la clase lib
  • A mí me parece que la Unidad no acepta PCL para otra cosa que Windows8/8.1 aplicaciones. Por otra parte, PCL sólo es compatible con .NET 4.0+
  • estás confundiendo con el nuevo .net core cosas para win 8? he hecho PCL cosas para el mono en el iphone xamarin usted necesita tener el mono framework instalado con el fin de brindar a ser capaz de destino
  • usted no será capaz de utilizar el .net 4.5 características, pero si sólo es el núcleo de su lógica de que usted no tiene que
  • Cuando creo un PCL de proyecto en Visual studio, puede elegir Xamarin.Android como objetivo, entre otros, pero si quiero que funcione para windows, voy a necesitar .RED de destino que no se propone en virtud de 4.0. También, PCL restringe los componentes disponibles y uso cosas como XmlDocument o Tareas. Es por eso que necesito .NET 4.5 y no simplemente compilar para 3.5.
  • su limitado así que usted puede utilizar la plataforma de la cruz

InformationsquelleAutor Warrows | 2015-03-16

3 Comentarios

  1. 8

    Utilizando visual studio plugin: las exportaciones no administrado, he sido capaz de exportar el C# .NET 4.5 a un no administrado/dll nativa que puedo usar en la Unidad del Motor.
    Esto obliga a llamar solamente a las funciones simples, pero con un poco de trabajo, fue posible para mí para envolver el núcleo de mi motor.

    • ¿utiliza dynamic, Async / Await etc en su motor? si sí, favor de dar algunos consejos de cómo hacerlo
    • Fue hace unos meses en un proyecto profesional, yo no puedo código de acceso ya. Pero si recuerdo correctamente, tuve Async/Await en el código, pero no necesita llamar a ellos a través de la envoltura, así que era bastante sencillo.
    • así que, mientras, por ejemplo, la comprobación de la actualización de bucle de algunos colección de comandos entrantes (supongo que la colección debe ser bloqueado) y producir plantear algunos mensajes con suscriptores «en el otro extremo», es todo ok? ¿qué plataformas de la aplicación fue planeado para ser ejecutado en (o de ejecución)?
    • Lo siento, no puedo recordar exactamente lo que hicimos o que no lograron hacer. Pero al final hemos tenido que cambiar .NET 3.5, por diversas razones, este problema de compatibilidad es uno de ellos.
  2. 6

    Respuesta corta es no.

    La unidad «.NET 2.0/3.5 era funcionalidad», según un en el blog oficial de correos.

    Según el mismo post, una versión futura de la Unidad será actualizado a «una versión moderna de .NET,» sin tiempo dado para esta importante tarea.

    NOTA: Esta respuesta fue escrito en respuesta a la versión original de la pregunta, que era simplemente si la .NET 4.5 biblioteca podría ser utilizado directamente en la Unidad.

    • Ustedes dicen respuesta corta es no. Pero, ¿qué es el cuento largo? Realmente necesito para utilizar este código, miré a la rebaja se .NET 3.5, pero no es una solución aceptable dado el trabajo ya realizado en el motor. Sobre android, creo que el uso de Xamarin para obtener nativa de android código y utilizarlo como un plugin nativo en la Unidad. Ahora necesito una solución para Windows. Estoy buscando formas para utilizar el código de C# en C++ para hacer una dll no administradas, pero estoy luchando por entender de qué manera es aplicable en este caso entre la interoperabilidad COM, C++/CLI u otros métodos.
    • Incluso si usted podría degradar a 3.5, eso no es garantía de que el trabajo, como la Unidad no tiene 3.5 apoyo. La unidad tiene soporte nativo de Windows llamadas, pero ¿cómo convertir su biblioteca nativa de Windows, me temo que no sé. Buena suerte!
    • Gracias, estoy editando la pregunta para ser más precisos.
    • amable sugerencia acerca de Desbordamiento de Pila. Mejor tener cuidado acerca de la edición de las preguntas de esta manera, cuando usted está cambiando fundamentalmente la cuestión, como lo puede hacer de las respuestas (como la mía, que previamente aceptado) incompletas o erróneas. Esto significa que otros usuarios pueden pensar que mi respuesta es un mal, y puede downvote ella.
    • también, creo que en este caso es más probable obtener ayuda específica si le preguntas a un independiente, más específico, la pregunta acerca de cómo convertir C# biblioteca en Windows de código nativo. El problema con una pregunta acerca de «poco/ningún esfuerzo» es que es vago, y algunos usuarios incluso pueden votar para cerrar su pregunta como «demasiado amplio.»
    • Gracias por la sugerencia, me preguntaba cuál era el mejor curso de acción. Voy a ser más cuidadoso en el futuro. Yo edite porque es más específico de esa manera. También su respuesta es más que una confirmación original de mi preocupación de que una solución para el problema.

Dejar respuesta

Please enter your comment!
Please enter your name here