Hvordan Raskt Importere Dynamisk Biblioteksfunksjonalitet Til Prosjektet Ditt

Innholdsfortegnelse:

Hvordan Raskt Importere Dynamisk Biblioteksfunksjonalitet Til Prosjektet Ditt
Hvordan Raskt Importere Dynamisk Biblioteksfunksjonalitet Til Prosjektet Ditt

Video: Hvordan Raskt Importere Dynamisk Biblioteksfunksjonalitet Til Prosjektet Ditt

Video: Hvordan Raskt Importere Dynamisk Biblioteksfunksjonalitet Til Prosjektet Ditt
Video: Hvordan eksportere og importere mobiliteter i Mobility Tool 2024, Kan
Anonim

Ofte står en. NET-programmerer overfor oppgaven med å bruke funksjonaliteten til en dynamisk DLL skrevet av en annen utvikler i ukontrollert kode. Noen ganger kan funksjonaliteten til dette biblioteket være veldig, veldig omfattende. Registrer manuelt hver klasse, funksjon, konstant osv. I prosjektet ditt. - en veldig lang tid. Heldigvis finnes det verktøy som delvis automatiserer denne prosessen. Vi vil snakke om en av dem.

PInvoker for Visual Studio
PInvoker for Visual Studio

Nødvendig

  • - PC med Visual Studio 2008/2010;
  • - internettet.

Bruksanvisning

Trinn 1

Hvis du har et dynamisk bibliotek *.dll skrevet i ikke-administrert kode, for eksempel i C eller C ++, så vel som topptekstfilene, og du må erklære en hel haug med bibliotekonstruksjoner i prosjektet ditt, så er det veldig bra løsningen for deg kan være verktøyet PInvoker. PInvoker distribueres fritt som en utvidelse for Visual Studio IDE (versjoner 2005, 2008 og 2010 støttes), samt som et frittstående program.

Å jobbe med det er enkelt og praktisk. PInvoker importerer PInvoke-definisjoner for administrert C # eller VB. NET-kode fra C / C ++ header-filer og tilhørende DLL. Du må bare velge fra en liste over tilgjengelige funksjoner, strukturer, oppregninger, konstanter, delegater, og så videre. kreves og importeres til prosjektet ditt.

Først må du laste ned og installere PInvoker. Last ned installasjonsprogrammet PInvoker.msi eller PInvokerAddin.msi-utvidelsen for Visual Studio fra det offisielle nettstedet. Jeg tror dette ikke burde være et problem. Bare kjør filen du ønsker, og følg instruksjonene.

Steg 2

La oss se på et eksempel på hvordan du kan arbeide med dette nyttige verktøyet. Start Visual Studio, lag et nytt prosjekt. Et nytt element er lagt til i Verktøy -> Verktøy-menyen: PInvoker. Klikk på den og innstillingsvinduet for PInvoker Addin åpnes. Velg språket til prosjektet Språk: C # eller VB. NET. Velg Rediger profiler i rullegardinlisten Profiler.

Redigering av PInvoker importprofiler
Redigering av PInvoker importprofiler

Trinn 3

Profiladministrasjonsvinduet åpnes. Velg Opprett en ny importprofil og klikk Neste.

Bilde
Bilde

Trinn 4

Nå må du legge til topptekstfilene. Du kan dra og slippe dem i vinduet Veiviser for PInvoker-profiler. Deretter spesifiserer du katalogen der disse filene er lagret.

Legger til overskriftsfiler
Legger til overskriftsfiler

Trinn 5

Det neste trinnet er å spesifisere selve det dynamiske biblioteket. Du kan også trygt dra den med musen til vinduet til PInvoker-profilveiviseren.

Legge til en dynamisk DLL
Legge til en dynamisk DLL

Trinn 6

Etter å ha klikket på Fullfør-knappen, begynner prosessen med å importere definisjoner fra det valgte dynamiske biblioteket. Den vellykkede fullføringen av operasjonen vil bli indikert av inskripsjonen Importer vellykket og listen over navn på funksjoner fra DLL-filen som vises i venstre felt.

Fullføre konfigurering av en PInvoke Import-profil fra DLL-filer
Fullføre konfigurering av en PInvoke Import-profil fra DLL-filer

Trinn 7

Nå kan du enkelt importere PInvoke-definisjoner til prosjektet ditt. I feltet til venstre (1), i Type-feltet, velg type: funksjon, prosedyre, struktur, oppregning, konstant, delegat, etc. I navnet-feltet velger du navnet på ønsket struktur. Med et enkelt klikk vises beskrivelsen i det sentrale feltet i PInvoker-vinduet (2). Dobbelt - åpner definisjonen i overskriftsfilen. Ved å klikke på Sett inn definisjonsknappen (3) vil du sette inn definisjonen i C # / VB. NET-prosjektet. Nå kan du bruke den importerte DLL-funksjonen i prosjektet.

Anbefalt: