Dll erstellen (Visual Studio 2008)

chriss_2oo4

Erfahrenes Mitglied
Hi,

ich versuche verzweifelt eine DLL (Neues Projekt -> C++ CLR -> Library) zu erstellen und diese in C# zu laden.

Aufbau: .h

Code:
#pragma once

using namespace System;

namespace NewClrLibrary 
{
	public ref class Class1
	{
		public:
		long Test();
	};
}

Aufbau .cpp

Code:
#include "stdafx.h"
#include "NewClrLibrary.h"

long NewClrLibrary::Class1::Test()
{
	return 100;
}

Man muss doch nur die Prototypanweisung in die .h in der ref Klasse schreiben?
Eigentlich kann das doch nicht so schwer sein, aber C# meldet mir immer das es keinen einstiegspunkt findet.

Code in C#
Code:
[DllImport("NewClrLibrary.dll")]
        public extern static Int32 Test();


Warum klappt das nicht?


Lg Chriss
 

MCoder

Erfahrenes Mitglied
Hallo Chriss,

wenn du eine CLR-Library erstellst, brauchst du kein DllImport. Du kannst sie im C#-Projekt bei "Verweise" eintragen und dann direkt alle public-Klassen verwenden.

Gruß
MCoder
 

chriss_2oo4

Erfahrenes Mitglied
Hi MCoder,

sorry für die späte Antwort, war übers WE nicht da. Klappt einwandfrei. Aber wenn ich in Visual C++ (C++ CLR) so eine DLL importiere, klappt das nicht.

Rechte Maustaste aufs Projekt -> References... -> Add Reference -> Tab-Reiter "Browse" und dann die DLL hinzufügen.

Leider ist die DLL nicht verfügbar -> Was muss man machen?


Lg Chriss
 

MCoder

Erfahrenes Mitglied
Sollte eigentlich genauso funktionieren. Was bedeutet "nicht verfügbar"? In die References-Liste wird sie doch eingetragen, oder?

Gruß
MCoder
 

chriss_2oo4

Erfahrenes Mitglied
Hi,

jup ist eingetragen. Ich werds einfach noch mal probieren, wenn es bei dir so funktioniert. Beim 3x wird schon klappen ;-)

Vielen Dank nochmals