[C#] Dll Datein (AUfbau und Einbindung)

Drache2

Erfahrenes Mitglied
Tach.

Mein Priblem, habe eine Dll Datei erstellt und eine exe.
Habe im Internet schon folgenden Syntax gefunden
Code:
[DllImport("Datei")]
extern public Funktion();

Meine Dll Datei ist folgendermaßen aufgebaut:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


	public class Test
	{

		public void Hallo()
		{

			Console.Write("Hallo");

		}

	}

Und die exe datei so:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace DllProjekteinEbindung
{
	class Program
	{

		[DllImport("DllProjektEinbindung.dll")]
		static extern void Hallo();

		static void Main(string[] args)
		{
			Hallo();
			Console.ReadKey(true);

		}
	}
}

Nun, wenn ich die Funktion Hallo auis der Dll datei aufrufe, sagt er mir wärend der Laufzeit, das es dien nicht gibt.
Wiso?
Was mach ich falsch?
Und sagt jezt bitte nicht ich slle unter Google suchen.
Hab ich, nur leider vergebens.(Naja, Etwas hab ich ja^^, verstehe es nur nicht, und Fehlerhaft ist es auch...)
 
Hallo,

mit .NET erstellte DLLs sind nicht mit den sog. regulären DLLs vergleichbar, deren Funktionen man mit "DLLImport" einbindet.
Du musst deine DLL nur in der Projektmappe bei den Verweisen hinzufügen und kannst dann direkt die dort als "public" deklarierten Klassen und Methoden verwenden.

Gruß
MCoder
 
Funktioniert^^.
Vielen Dank.
Musste aber erst suchen, weil ich die englische VS 2008 Express Version habe (kein Beta mehr:))
Da ist das unter Referenz zu finden.
Ist das auch so mit nicht in dem Projekt (also, mit Dll's die von nem ganz anderen Projek stammen, bzw. von denen man nicht den Quellcode hat) auch so?
Oder muss man da wieder DllImport benutzen?
 
Solange diese "DLLs" in einer .NET Sprache programmiert sind, kannst du es mit allen so machen. DllImport nutzt du eigentlich nur bei DLLs die mit anderen Programmiersprachen erstellt wurden, C++/Delphi etc.
 

Neue Beiträge

Zurück