Me gustaría cargar un archivo dll (Test.dll) como un ensamblado. Puedo hacer esto usando referencias directas de Visual Studio (es decir, cargando el dll como referencia a mi aplicación C#) y cargando el dll usando el método Assembly.LoadFile(filename)
. Ahora, me gustaría agregar mi archivo dll como un recurso incrustado en mi aplicación Visual Studio y cargar el archivo dll como un ensamblado. Sé cómo cargar este recurso como una matriz de bytes, ¿hay alguna correlación entre la matriz de bytes y el conjunto que podría utilizar? Además, necesito poder llamar a un método ubicado dentro del archivo dll. Vea el código a continuación: explicará más detalladamente lo que estoy haciendo.Cargar un ensamblado desde un recurso incrustado
Assembly SampleAssembly = Assembly.LoadFrom("WindowsFormsApplication2.ThisisaTESTDLL.dll");
Type myType = SampleAssembly.GetTypes()[0];
MethodInfo Method = myType.GetMethod("myVoid");
object myInstance = Activator.CreateInstance(myType,null);
Method.Invoke(myInstance,new object[] { "param1", "param1"});
Si me falta algo aquí, por favor, házmelo saber y editaré la publicación original.
Creo que dije en la pregunta, ya puedo leer en una matriz de bytes, ¿hay alguna forma de leer el ensamblado de esta matriz de bytes? –
Sí. Use Assembly.Load (...) –
aquí suena como un ignorante ... Leí la documentación de Assembly.Load y una de las "sobrecargas" dice "byte []". ¿Por qué, entonces, cuando escribo "Assembly.Load" VS dice "cadena" como el parámetro? ¿Hay alguna forma de especificar? –