Visual Studio Projekt konvertieren


CopWorker

Mitglied
Hallo zusammen,

ich bin gerade dabei ein Projekt welches mit Visual Studio 2013 erstellt wurde in ein Visual Studio 2017 zu konvertieren.
Ich gehe wie folgt vor.
Die *.sln und die *.v12.suo habe ich aus dem Projektverzeichnis entfernt.
Danach habe ich die *.vcxproj im Visual Studio 2017 geöffnet.
Das hat auch bestens funktioniert.
Es kommt dann noch der Hinweis, dass das Plattformtoolset von Visual Studio 2013 (v120) auf Visual Studio 2017 (v141) geändert werden soll.
Das funktioniert auch automatisch. Das habe ich dann im Konfigurationsbereich "Debug" und "Release" nochmals geprüft.
Das Projekt kompiliert fehlerfrei und läuft auch.

Jetzt kommt der Haken.
Die von Visual Studio neu erstellte *.sln ist wiederum eine Version VS2013.
Das heißt, öffne ich diese mit linke Maustaste (Doppelklick), so startet das Projekt in Visual Studio 2013.
Es sollte aber doch in Visual Studio 2017 starten.

Habe ich da noch irgendwelche Projekteinstellungen übersehen?

Vielen Dank im Voraus.
Grüße von CopWorker
 

ComFreek

Mod | @comfreek
Moderator
Vielleicht ist die Standardanwendung zum Öffnen von *.sln-Dateien einfach nur VS2013? Wenn ja, kannst du diese via "Öffnen mit" im Explorer neu setzen.

Idealerweise löschst du aber gleich alle Eintragungen von VS2013 für irgendwelche Dateiendungen. Nicht, dass bei Öffnen einer *.vcproj wieder VS2013 startet :) Wie das am besten geht, kann ich dir nicht sagen. Möglicherweise bietet VS2017 irgendwo im Menü an, alle Dateiendungen für sich zu beanspruchen.
 

CopWorker

Mitglied
Hallo ComFreek,

komischerweise muss man nach der Konvertierung des Projekts
die *.sln mit "Öffnen" aus dem Kontextmenü starten.
Danach funktionierts auch mit Doppelklick auf die *.sln.

Alles gut jetzt.
Aber trotzdem vielen Dank für deine Hilfe.

Noch was:
Kannst du mir sagen in welchen Projekteinstellungen ich den Pfad finde,
auf welchen Visual Studio auf die erforderlichen DLLs zugreift.
Normalerweise sollten, so kenne ich das, diese im gleichen Verzeichnis liegen
wie die ausführenden Datei (*.exe).
Da hab ich alle DLLs auch reinkopiert, doch leider meckert der Compiler, dass
die DLLs nicht vorhanden sind.

MfG. CopWorker
 

ComFreek

Mod | @comfreek
Moderator
Wieso braucht der Compiler überhaupt DLLs? Um etwas dynamisch zu linken, brauchst du nur entsprechende Headerdateien. Bei der Ausführung (Runtime) solltest du eine Dialogbox bekommen, dass DLLs nicht gefunden wurden.

Zeig mal genau, welche Fehlermeldung du wo bekommst.
 

CopWorker

Mitglied
Hallo ComFreek,

du hast recht. die Runtime meckert.

1597226030908.png

Mein Fehler.

Oder muss ich in Visual Studio gar nichts einstellen.
Ich habe jetzt den Pfad in dem die DLLs liegen in der Umgebungsvariable "Pathes"
hinterlegt, dann geht´s.

Mfg. CopWorker
 

ComFreek

Mod | @comfreek
Moderator
Ah, ja, das Problem ist bekannt im Internet: suche mal nach "dll not found same directory". Oft wird empfohlen, die genauen Dependencies der EXE sich anzusehen, z. B. mittels lucasg/Dependencies.

Oder muss ich in Visual Studio gar nichts einstellen.
Ich glaube nicht, dass Visual Studio da was richten kann. Außer, wenn das EXE Dateiformat irgendwie zulässt, Defaultpfade für DLLs zu hinterlegen. Ob das geht, weiß ich nicht.
 

Neue Beiträge