Migrieren von alten projekte Visual studio 2008 ins Visual Studio 2015



  • Hallo Zusammen,

    ich habe eine paar alte Projekte, die mit Visual Studio 2008 + Qt4 PlugIn erstellt wurden.
    Wir haben uns entschlossen, die projekte in Visual Studio 2015 + Qt5 PlugIn zu migrieren.
    Die Migration an sich ist eigentlich kein Problem.
    Die Projekte können erfolgreich übersetzt werden(Build ).
    Problem ist: Projekte können nicht gestartet werden (.exe).
    Woraus ist bei Migrieren von alten Projekte (Visual Studio 2008) ins Visual Studio 2015 zu achten?
    Problem ist mir nicht verständlich 😞

    Danke



  • 1. Höchstwahrscheinlich hast du deinen Beitrag im falschen Unterforum eingestellt. Hier geht es um C++/CLI - dein Beitrag ist vermutlich besser in https://www.c-plusplus.net/forum/f3 aufgehoben.
    2. Eine genauere Beschreibung des Problems, warum dein Executable nicht startet würde helfen. Könnte es sein, dass du die entsprechende Runtime nicht installiert hast (nur relevant, wenn das Programm nicht auf anderen Rechnern läuft)?
    https://www.microsoft.com/en-us/download/details.aspx?id=53587

    3.

    Woraus ist bei Migrieren von alten Projekte (Visual Studio 2008) ins Visual Studio 2015 zu achten?

    Da fällt mir nichts Spezifisches ein.



  • Wenn ich die .exe in Debug Modus starte, dann habe ich folgende Fehlermeldung:

    FileLoadException was unhandled
    An unhandled exception of type System.IO.FileLoadexception occured in Example.dll

    Additional Information: Die Assembly im gemischten Modus wurde während Version v2.0.50727 der Laufzeit erstellt und kann nicht während der 4.0-Laufzeit ohne zuzätzlich Konfigurationsinformationen geladen werden.

    Ich weiss es nicht, ob diese Information weiterhilft.

    In dieses Zusammenhang stelle ich die Frage: Wie kann man im C++ Projekt so konfigurieren dass es einen bestimmten .NET Framework verwenden werden soll?



  • Die Fehlermeldung deutet auf die .NET-Runtime (2.0 vs. 4.0) hin, aber die Frage ist wirklich, ob ihr diese verwendet (du schreibst ja von QT - und beides gleichzeitig zu benutzen, ist nicht wirklich zu empfehlen)?

    Stell mal einfach den /clr-Schalter im Projekt aus.

    Edit: Der Projekttyp für QT-Anwendungen sollte "Win32 Application" sein, und kein "managed (.NET)"-Projekt.



  • Th69 schrieb:

    Die Fehlermeldung deutet auf die .NET-Runtime (2.0 vs. 4.0) hin, aber die Frage ist wirklich, ob ihr diese verwendet (du schreibst ja von QT - und beides gleichzeitig zu benutzen, ist nicht wirklich zu empfehlen)?

    Warum sollte eine Problem sein?
    Ich habe es mehrere C++ Projekte mit Qt plugin erstellt und war ne einen Problem.
    Ich habe es auch ne gehört, dass es die Parallele Anwendung von C++ und Qt einen Problem sein sollte.

    Th69 schrieb:

    Stell mal einfach den /clr-Schalter im Projekt aus.

    Ich habe es auch so erstellt aber es hatte nichts gebracht.

    Th69 schrieb:

    Edit: Der Prokjekttyp für QT-Anwendungen sollte "Win32 Application" sein, und kein "managed (.NET)"-Projekt.

    Das projekt ist einen "Win32 Application".



  • Es geht nicht um generelle (native) C++ Projekte in Verbindung mit QT (denn schließlich ist QT selbst ja in nativem C++ erstellt), sondern eben explizit um C++/CLI (ehemalig auch "Managed C++" genannt) - und dies in einem Projekt zu mischen macht meistens Probleme.

    Ist der /cli-Schalter evtl. bei einzelnen UEs (Übersetzungseinheiten d.h. Code-Dateien) gesetzt (ohne Grund wird ja die Fehlermeldung nicht da sein)?



  • Th69 schrieb:

    Ist der /cli-Schalter evtl. bei einzelnen UEs (Übersetzungseinheiten d.h. Code-Dateien) gesetzt (ohne Grund wird ja die Fehlermeldung nicht da sein)?

    Ja die /cli ist bei Einzelnen UEs gesetzt.
    Mir ist immer nicht ganz klar warum in Visual Studio 2008 einwandfrei funktioniert und in Visual studio 2015 nicht.

    Ich habe es einen verdacht: muss ich eigentlich die .vcproj datei nicht anpassen?
    Diese sieht etwas anders aus im vergleich mit einen neuen erstellten projekt mit visual Studio 2015.



  • Hallo Zusammen,

    ich habe es auch die .vcxproj bei der Projekt so angepasst, dass es überrall die gleiche .Net Framwork benutzt wird.
    Diese Erweiterung sieht so aus:

    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
    

    Es hat aber nichts gebracht.



  • Typischerweise müssen die Projekt-Dateien nicht händisch angepasst werden.

    Kannst du nicht den Debugger benutzen, um herauszufinden, warum die FileLoadException auftritt?



  • theta schrieb:

    Typischerweise müssen die Projekt-Dateien nicht händisch angepasst werden.

    ja schon aber die .Vcxproj können auch Manuel geändert werden.
    z.B wenn man eine Änderung der .Net Framwork version setzen möchte.

    theta schrieb:

    Kannst du nicht den Debugger benutzen, um herauszufinden, warum die FileLoadException auftritt?

    Es ist genau beim laden von einem DLL, der ich auch selber erstelle.

    Bei der Erstellung dieses Dll wird einen:
    .NETFramework,Version=v4.0.AssemblyAttributes.asm.
    Wie kann ich bei der Property dieses projekt diese einstellung auf Desabled setzen



  • problem ist gelöst.
    Es lag an einem DLL von einem Lieferant.
    Was komisch ist:
    Unter Visual Studio 2008 hatte immer funktioniert und jetzt unter visual Studio 2015 nicht.



  • Hallo,

    vielleicht könntet ihr mich helfen.
    Ich suche eigentlich einen Update von HID Class.dll.
    Ich weiss es nicht woher soll ich dieses HID Class.dll runterladen.
    Hat einen vielleicht damit probleme gehabt.

    Danke


Log in to reply