Trato de instalar la libreria SevenZipLib a mi programa.
Jamas he usado los P/Invoke, y no se realmente como hacer la ferencia a los dll.
Me dicen que debo usar
[DllImport("milibreria.dll", EntryPoint="suma")]
Bajo el espacio de nombres
System.Runtime.InteropServices.
y luego la funcion del entrypoint
public static extern int Sumar(int num1, int num2);
No tengo idea de como hacer eso.
He creado un nuevo archivo 7zip.cs con el siguiente codigo.
Código:
Pero se supone que las funciones de la libreria comousing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices; namespace PROGRAMA_1_MercElec { class SevenZipArchive { [DllImport("SevenZipLib_9.13.2\\SevenZipLib\\SevenZipLib7z64.dll", EntryPoint = "seven")] public static extern bool seven(string filepath); } }
Código:
deberian reconocerse, y no es asi.using (SevenZipArchive archive = new SevenZipArchive("Sample.7z")) { archive.ExtractAll(TargetDirectory); }
La libreria se baja de aqui:
http://sevenziplib.codeplex.com/
Mi duda es de manual, como invoco P/Invoke? que estoy haciendo mal? podrian explicarme paso a paso?