You may want to put some text here

Zelf een DLL schrijven en gebruiken in C#

Het eerste wat je gaat moeten doen is het schrijven van de DLL. Om het simple te houden ga je een DLL maken met maar een class en één methode die twee getallen optelt. Daarna maak je een console applicatie die deze DLL gaat gebruiken om twee getallen op te tellen.

DLL schrijven

Start Visual studio en maak een nieuwe C# Library class project aan. Plaats dit bijvoorbeeld op je c: schijf onder de map Calculate/dll. Dus dan zal het path(Location:) er zo uitzien c:/Calculate/dll. Vul als naam voor het project CalculateLib in. Druk nu op OK voor het project aan te maken.
Visual studio nieuw dll project aanmaken
Om te beginnen zal je code er zo ongeveer uitzien:

using System;
using System.Collections.Generic
using System.Linq;
using System.Text;namespace CalculateLib
{
public class Class1
{
}
}

Om te beginnen verwijder je eerst alle usings en vervang je de class naam door CalcLib.

namespace CalculateLib
{
public class CalcLib
{
}
}

Maak nu een public methode aan met de naam Add die 2 getallen kan optellen.

namespace CalculateLib
{
public class CalcLib
{
public int Add(int x, int y)
{
return x + y;
}
}
}

Nu dat de code van de DLL klaar is is het tijd voor te compileren. Dit gaat ervoor zorgen dat van deze code een DLL gemaakt wordt. Druk hiervoor op Build > Build CalculateLib.

De gecompileerde dll kan je vinden in de map c:/Calculate/dll/CalculateLib/CalculateLib/bin/Debug.

De DLL gebruiken

Nu de DLL klaar is kan je hem gaan gebruiken in je projecten. Maak een nieuw C# console applicatie aan.

Visual studio C# console applicatie aanmaken

Het eerste wat je gaat moeten doen is een referentie leggen naar de CalculateLib DLL. Dit doe je door aan de rechterkant van je scherm met je rechtermuisknop op het mapje references te klikken en daarna de kiezen voor Add Reference.

DLL referentie toevoegen in Visual studio
Vervolgens klik je op het tabje Browse om de DLL te kunnen selecteren in de map c:/Calculate/dll/CalculateLib/CalculateLib/bin/Debug. Druk op OK om de referentie toe te voegen.
Calculate lib toevoegen
Nu je de referentie naar je DLL hebt gelegd moet je nog een ding doen om hem te kunnen gebruiken. Maak een include van de namespace die je gebruikt hebt voor de DLL. Dit doe je door bovenaan je code waar alle usings staan een using toe te voegen die verwijst naar de namespace van je DLL.

using CalculateLib;

In de main van de console applicatie maak je nu wat code aan die eerst een instantie aanmaakt van de DLL classe en daarna de Add methode oproept. Het resultaat dat je terugkrijgt van de methode Add toon je vervolgens op het scherm.

using System;
using CalculateLib;

namespace DllTest2
{
class Program
{
static void Main(string[] args)
{
CalcLib mathObj = new CalcLib();
Console.WriteLine(mathObj.Add(12, 5));
Console.ReadLine();
}
}
}

Druk nu op F5 om het project te compilen en uit te voeren. Normaal zou je nu een console venster moeten tezien krijgen met 17 in.

DLL console applicatie

The Author of this post is Wim Mostmans

Wim Mostmans heeft een eigen webontwikkeling bedrijf Sitebase waar hij voltijds voor werkt. Hij beheert ook nog enkele websites waaronder deze en een Computerforum. Blijf op de hoogte van waar Wim mee bezig is door hem te volgen op Twitter.

9 Responses »

  1. De officiele term is Assembly. De dll file is (slechts) de file waarin de assembly zit. maar verder duidelijk artikel!

  2. ik snap er geen snars van

  3. Wat snap je juist niet key hacker? Dan zal ik je wat meer uitleg geven indien mogelijk.

  4. Ik heb dll gemaakt in VS2008 (debug).
    In een externe applicatie die VBA ondersteund, heb ik referentie toegevoegd.

    Nu probeer ik vanuit de externe applicatie, die de dll in VS2008 aanroept, in debug door de source te lopen.

    Het werkt…maar dus geen debug.
    Wat vergeet ik?

    Alvast dank
    Met vriendelijke groet : Jan

    • Dat komt doordat je aan het werken ben met de gecompileerde versie van de DLL. Als je de debug zou willen gebruiken binnen de DLL dan zou je het DLL project aan je solution moeten toevoegen. Dit gaat natuurlijk wel alleen als je je project volledig in Visual Studio maakt.

  5. ik heb alles gedaan wat er staat maar ik krijg geen dll na het builden.
    mail me aub :)

  6. Duidelijk verhaal !

    Miste het koppelen via de Reference nog even :)

  7. Okee.
    Ik ben nog niet zover ik heb net pyton onder de knie.
    Kheb tijdje java geprobeert maar was te moeilijk (ben nog 14)
    Ooow en sb.. Je moet je bestand eerst compileren ofzo,iet staat ergen onder uitvoeren.
    Gr.

Trackbacks

  1. Ddl?

Leave a Comment