Namespace System::Windows wird nicht eingebunden / erkannt



  • Hallo!

    Ich habe folgendes Programm geschrieben:

    using namespace System;
    using namespace System::Collections;
    using namespace System::Windows;
    
    int main( int argc, char *argv[] )
    {
    	int anzPoints = 100;
    	ArrayList ^pointList = gcnew ArrayList(anzPoints);
    
    	//Liste mit Point - Objekten füllen
    	for(int i=0; i<anzPoints; i++)
    	{ 
    		pointList->Add((gcnew Point(i, i*i)));
    	}
    
    	//Alle Point-Objekte ausgeben lassen
    	Console::WriteLine("Punkte in der Liste: {0}", pointList);
    
    	//neues Point-Objekt erstellen, mit Werten eines der Objekte in der Liste
    	Windows::Point ^p = gcnew Point(1,1);
    
    	int position = pointList->BinarySearch(p);
    	Console::WriteLine("Punkt {0} an der Stelle {1} in der Liste gefunden", p, position);
    
    	return 0;
    }
    

    Das Problem ist, dass Visual Studio (2008, Express Edition) meint:

    ..\Pointtest.cpp(3) : error C2039: 'Windows': Ist kein Element von 'System'
    ..\Pointtest.cpp(3) : error C2871: 'Windows': Es ist kein Namespace mit diesem Namen vorhanden
    

    NET.Framework Version 3.5 ist drauf. Daran kann es nicht liegen.

    Wie bekomme ich das Programm zum laufen?



  • Du musst als Zielsystem .NET3 oder 3.5 auswähöen (in den Eigenschaften des Projektes)



  • Eigentlich sollte es reichen ne Referenz auf die entsprechende Assembly hinzuzufügen.
    Wenn man kein Forms Projekt anlegt ist die per Default nicht dabei glaub ich.



  • In den Projekteigenschaften ist .NET-Framework 3.5 eingestellt.



  • bitti1 schrieb:

    In den Projekteigenschaften ist .NET-Framework 3.5 eingestellt.

    Die Assemblies:

    • PresentationCore
    • PresentationFramework
    • WindowsBase

    sind auch hinzugefügt wurden?



  • Hallo!

    Ich habe alles bei den Standardeinstellungen belassen. Nur eben, dass ich als Vorlage "Neues CLR-Projekt erstellen" benutzt habe.

    Wo bindet man die Assemblies: PresentationCore,PresentationFramework,WindowsBase denn ein bzw. wo muss man diese hinzufügen?



  • bitti1 schrieb:

    Ich habe alles bei den Standardeinstellungen belassen. Nur eben, dass ich als Vorlage "Neues CRI-Projekt erstellen" benutzt habe.

    Du meinst wohl "CLR" 😉

    In dem deutschen Visual Express findest du das ganze unter dem "Projektmappen-Explorer" mit Rechter Maustaste auf den Projektnamen. Dort gibt es im Menü den Punkt "Verweise...". In der Maske "Neuen Verweis hinzufügen", und dort im ".Net"-Tab die entsprechenden Assemblies auswählen.

    Ich musste auch gerade nachschauen, in C# ist dies nämlich nicht ganz so versteckt...



  • Ja ich meinte CLR 🙂 Habs oben ausgebessert.

    Nach dem Hinzufügen der entsprechenden Verweise hat´s mit dem Kompilieren geklappt - DANKE!


Log in to reply