Verwirrendes Verhalten beim Zugriff auf Class Library
-
Hallo,
ich schreibe eine Windows Forms programm und bin dabei auf ein seltsames verhalten gestoßen.
Habe es in einer CLR Consolen Applikation nachgebaut. Vielleicht kann mir jemand von euch sagen wie ich das problem löse:Folgende Schritte habe ich durchgeführt:
1. CLR Applikation gebaut (Main_Project)
2. Der Solution ein Class Library Projekt hinzugefügt (Class Library).
3. Using Referenz auf den richtigen Ordner gesetzt.Folgende Datei ist in meinem Main_Project
// Main_Project.cpp : main project file. #include "stdafx.h" #using "Class_Library.dll" using namespace System; int main(array<System::String ^> ^args) { Class_Library::Class1 ^handleClass1 = gcnew Class_Library::Class1(); Class_Library::Class2 ^handleClass2 = gcnew Class_Library::Class2(); Console::WriteLine(L"test in Class1: {0}",handleClass1->test); Console::WriteLine(L"test in Class2: {0}",handleClass2->test); Console::ReadLine(); return 0; }
In meinem Class_Library Projekt habe ich:
// Class_Library.h #pragma once using namespace System; namespace Class_Library { public ref class Class1 { // TODO: Add your methods for this class here. public: int test; Class1(); }; public ref class Class2 { // TODO: Add your methods for this class here. public: int test; Class2(); }; }
und
// Class_Library.cpp // This is the main DLL file. #include "stdafx.h" #include "Class_Library.h" Class_Library::Class1::Class1(){ test=1; } Class_Library::Class2::Class2(){ test=2; }
Der Compiler meckert mit folgender meldung:
\Main_Project.cpp(12) : error C2039: 'Class2' : is not a member of 'Class_Library'
1>.\Main_Project.cpp(12) : error C2065: 'Class2' : undeclared identifierDas komische ist das er bei dem Zugriff auf Class1 überhaupt keine probleme hat. Aber definiere ich eine zweite Klasse kann er diese quasi nicht mehr finden. Intelli Sense sagt mir das sie da ist aber der Compiler findet sie nicht.
Ich habe echt keine idee mehr woran das liegen könnte.
Vielen Dank schonmal für jegliche Hilfe.
-
Tja ich glaube ich bin doch einfach zu doof
Hatte eine Kopie von meinem Projekt angelegt und an der weitergearbeitet...
Ist ja klar das die adresse zur dll noch auf die alte dll zeigt
Und nur durch einen Zufall kam es zu dem selben compilerfehler aus einem anderen grund in meinem nachbau... der so wie er jetzt da steht auch wunderschön compiliert.Also erledigt