Das Verknüpfen von Assemblys wird nicht unterstützt.



  • Hallo.

    Ich benutzte Visual Studio 2008

    ich habe 2 Projekte eine Anwendung (exe) und eine Lib (dll).
    Die Lib enthält 2 .Net klassen....
    So nun schaff ich es nicht die Lib richtig einzubinden.
    Im exe Projekt habe ich unter Verweise das lib Projekt eingetragen und bei linker optionen entsprechend noch die Lib die beim andern Projekt rauskommt als eingabe...

    So nun erhalte ich beim erstellen der exe folgende Meldung::

    1>fatal error C1308: Das Verknüpfen von Assemblys wird nicht unterstützt.

    Ich habe leider auch durch googlen keine Lösung zu stande bekommen... was mache ich Falsch?



  • Du musst ein C++/CLI-Projekt (oder /clr-Aktivieren) anlegen und dann Unter im Projekt mittels "Add References..." die Assembly (DLL) hinzufügen.



  • Hmm also im deuschen ist das glaub ich "Allgemeine Eigenschaften" -> "Framework und Verweise"? Da hab ich da hab ich schon das schon eingetragen oder meinst du noch was anderes?

    /clr hatte ich sowieso aktiviert....



  • Genau das meine ich... was ist jetzt Dein Problem?
    Du darfst die Assembly *nicht* dem Linker mitteilen!



  • Jochen Kalmbach schrieb:

    Genau das meine ich... was ist jetzt Dein Problem?
    Du darfst die Assembly *nicht* dem Linker mitteilen!

    Wie meinst du das wenn ich unter Linker bei eingabe die dll weglasse bekomm ich Meldungen auf nicht aufgelöste token bei den sachen die in der Lib stehen...

    1>Main.obj : error LNK2020: Nicht aufgelöstes Token (06000002) Server::Start.
    1>Main.obj : error LNK2020: Nicht aufgelöstes Token (06000003) Server::Accept.



  • In WAS für einer LIB?
    Du verweist doch eine Assembly und keine LIB, oder?

    Mache die Server-Klasse bitte auch als "public ref class"... dann sollte es keine Probleme geben und Du musst nur die Assembly referenzieren (keine LIB!)



  • Meinst du das so:

    #using <System.dll>
    
    public ref class Server {
    	private:
    		System::Net::Sockets::TcpListener^ Listner;
    	public:
    		Server();
    		void Start(const unsigned int Port);
    		void Accept();
    };
    

    Wenn ich das public davor hab passiert folgendes:

    1>c:\dokumente und einstellungen\nils\eigene dateien\openspace\trunks\source\netzwerktest\server\Server.hpp(6) : error C2011: 'Server': 'class' Typneudefinition
    1>        c:\dokumente und einstellungen\nils\eigene dateien\openspace\trunks\source\netzwerktest\debug\serverlib.dll: Siehe Deklaration von 'Server'
    

    Der Code an der Stelle sieht wie folgt aus:

    Server^ Myserver = gcnew Server();
    


  • Wenn Du eine Assembly referenzierst, darfst Du *NICHT* die H-Datei einbinden!!! sondern nur die Assembly-Referenz!


Anmelden zum Antworten