¿Puedo incluir dll en exe (en Visual Studio)? [duplicar]
-
20-08-2019 - |
Pregunta
Posible duplicado:
aplicación de Windows .NET, ¿se puede comprimir en un solo .exe?
Para ejecutar mi aplicación, necesito AxInterop.WMPLib.dll
y Interop.WMPLib.dll
que se encuentran en la carpeta Debug and Release. ¿Hay alguna forma de incluir esos dlls en exe para que mi aplicación esté disponible en un solo archivo?
Solución
Siempre que sus DLL sean ensamblados .NET, entonces ILMerge debería poder combinar su exe y todas sus dependencias en un solo archivo.
Otros consejos
Puede usar una herramienta como boxedapp o thinstall ...
También recomiendo boxedapp. Es una gran aplicación!
Inclúyalos como incrustados. Luego puede extraerlos en tiempo de ejecución.
Sí, omití el código para escribir el archivo ...
FileStream so=new FileStream("c:\\\wherever\\\x.dll",FileMode.Create);
so.Write(buf,0,ssize);
so.Close();
No se requieren utilidades adicionales.
Por ejemplo, agregue x.dll al proyecto y establezca su Acción de compilación en Recursos integrados.
Para extraer:
string AppPath=Assembly.GetExecutingAssembly().Location;
Assembly ThisAssembly=Assembly.LoadFrom(AppPath);
System.IO.Stream fs=ThisAssembly.GetManifestResourceStream("yourproectname.x.dll");
int ssize=(int)fs.Length;
byte [] buf=new byte[ssize];
fs.Read(buf,0,ssize);
fs.Close();