Jump to content
Magno

Unity no reconoce las librerías que agrego desde visual studio :'(

Recommended Posts

Que tal, un saludo cordial a todos los que me leen, espero que me puedan ayudar.

Tengo un problema probablemente muy de novato y es que como dice el titulo estoy agregando paquetes NuGet desde Visual Studio 2019 y todo bien, no hay ningún error  en VS pero al pasar a Unity me tira error con el namespace que hace referencia a ese paquete y al regresar a VS me da error con el using que estaba usando sin problemas antes de ir a Unity, note que todas las referencias necesarias las instalo en la carpeta Packages del proyecto de Unity, pero por alguna razón no es capaz de reconocer todas las dll que agrego VS.

Espero explicarme bien, esta es mi primera consulta en un foro así que seguramente cometí errores que no note, por favor corrijanme para evitarlos en el futuro.

Este es el código que estoy intentado correr en unity:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Opc.UaFx.Client;

public class OPC_Client : MonoBehaviour
{
    OpcClient cliente;
    
    void Start()
    {
        cliente = new OpcClient("opc.tcp:\\192.168.0.145:49320");
        cliente.Connect();
        Debug.Log(cliente.State);
    }
}

Este es el error que me tira unity:

Quote

Assets\Scripts\OPC_Client.cs(4,7): error CS0246: The type or namespace name 'Opc' could not be found (are you missing a using directive or an assembly reference?)

La API esta en .Net Standard 2.0, si cambio a 4.X no noto ninguna diferencia, por favor ayuda estoy desesperado jajaja.

Share this post


Link to post
Share on other sites

Unity no trabaja de esa forma, para agregar un DLL tienes que ubicarla dentro de cualquier ubicación dentro de una carpeta que se llame Plugins, luego Unity se encarga de crear las referencias de forma automática.

También tienes disponible AssemblyDefinition para administrar las referencias y crear diferentes proyectos.

Share this post


Link to post
Share on other sites

Intente poner la dll que necesito en la carpeta assets pero de ahi me marca 50 errores mas con otras dll, de hecho entre tantos intentos llego un punto en que agregué tantas dll que logro correr el programa pero al tratar de crear el ejecutable me daba un mensaje algo asi como que las dll no estaban incluidas o no las encontraba, asi que hice este proyecto nuevo para ver desde el inicio que hice mal con ayuda de esta comunidad.

Share this post


Link to post
Share on other sites

El compilador de Unity no tiene la capacidad de compilar proyectos con cualquier DLL, esto requiere un poco de experiencia y conocimiento en el tema. 

Share this post


Link to post
Share on other sites

Me puedes orientar para investigar al respecto?

Que temas debo leer para resolver mi problema?

Share this post


Link to post
Share on other sites

No, eso no resuelve por completo el problema!. 

Hay librarías que no pueden ser utilizadas en Unity y eso no tiene solución excepto que vayas arreglando las partes que eviten compilar. 

Share this post


Link to post
Share on other sites
19 minutes ago, Magno said:

Si ese es el caso, tendría que editar el código de la dll?

Si la DLL es de código abierto y el desarrollador así lo permite.

Share this post


Link to post
Share on other sites

×
×
  • Create New...