Ofte står en. NET-programmør over for opgaven med at bruge funktionaliteten i en dynamisk DLL skrevet af en anden udvikler i ikke-administreret kode. Nogle gange kan dette biblioteks funktionalitet være meget, meget omfattende. Registrer manuelt hver klasse, funktion, konstant osv. I dit projekt. - meget lang tid. Heldigvis er der værktøjer, der delvis automatiserer denne proces. Vi vil tale om en af dem.
Nødvendig
- - PC med Visual Studio 2008/2010;
- - internettet.
Instruktioner
Trin 1
Hvis du har et dynamisk bibliotek *.dll skrevet i ikke-administreret kode, for eksempel i C eller C ++, samt dets headerfiler, og du er nødt til at erklære en hel flok bibliotekskonstruktioner i dit projekt, så en meget god løsning til dig kan være værktøjet PInvoker. PInvoker distribueres frit som en udvidelse til Visual Studio IDE (versioner 2005, 2008 og 2010 understøttes) såvel som en enkeltstående applikation.
At arbejde med det er enkelt og praktisk. PInvoker importerer PInvoke-definitioner for administreret C # eller VB. NET-kode fra C / C ++ headerfiler og deres tilknyttede DLL. Du skal bare vælge fra en liste over tilgængelige funktioner, strukturer, optællinger, konstanter, delegerede osv. krævet og importeret til dit projekt.
Først skal du downloade og installere PInvoker. Download PInvoker.msi-installationsprogrammet eller PInvokerAddin.msi-udvidelsen til Visual Studio fra det officielle websted. Jeg synes, dette ikke burde være et problem. Kør bare den ønskede fil, og følg instruktionerne.
Trin 2
Lad os se på et eksempel på, hvordan man arbejder med dette nyttige værktøj. Start Visual Studio, opret et nyt projekt. Et nyt element er blevet føjet til menuen Værktøjer -> Værktøjer: PInvoker. Klik på det, og PInvoker Addin-indstillingsvinduet åbnes. Vælg sprog for dit projekt Sprog: C # eller VB. NET. Vælg rediger profiler i rullelisten Profiler.
Trin 3
Profilstyringsvinduet åbnes. Vælg Opret en ny importprofil, og klik på Næste.
Trin 4
Nu skal du tilføje headerfiler. Du kan trække og slippe dem til vinduet Guiden PInvoker Profiler. Angiv derefter det bibliotek, hvor disse filer er gemt.
Trin 5
Det næste trin er at specificere selve det dynamiske bibliotek. Du kan også sikkert trække den med musen til vinduet i PInvoker-profilguiden.
Trin 6
Efter at have klikket på knappen Udfør, begynder processen med at importere definitioner fra det valgte dynamiske bibliotek. Den vellykkede afslutning af operationen vil blive angivet med påskriften Import er vellykket og listen over navne på funktioner fra DLL'en, der vises i venstre felt.
Trin 7
Nu kan du nemt importere PInvoke-definitioner til dit projekt. I det venstre felt (1) skal du i feltet Type vælge typen: funktion, procedure, struktur, optælling, konstant, delegeret osv. I feltet Navn skal du vælge navnet på den ønskede struktur. Ved et enkelt klik vises beskrivelsen i det centrale felt i PInvoker-vinduet (2). Dobbelt - åbner sin definition i headerfilen. Ved at klikke på knappen Indsæt definition (3) indsættes definitionen i dit C # / VB. NET-projekt. Nu kan du bruge den importerede DLL-funktion i dit projekt.