Das sehe ich:
%Vor% und die Lösungen, die in den Google- und SO-Suchanfragen aufgelistet sind, liefern nicht (entfernte Schrägstriche, die auf die Standardpfade $(OutDir)
oder $(TargetDir)
zurückgesetzt werden).
Dies betrifft mehrere Projekte, die von MSVC2012 migriert wurden. Andere Projekte mit demselben Projekt- / Lösungslayout, das aus derselben MSVC2012-Umgebung migriert wurde, haben kein Auge zugedrückt, während einige Projekte diesen Fehler aufweisen, der jede Art von erfolgreichem Kompilierungs- / Erstellungsergebnis verhindert.
Der Fehler war auf das Projektkonfigurationsfeld Platform Toolset
zurückzuführen, das leer ist. (Die .vcproj
-Projektdatei sollte hier einen Wert wie v120
auflisten)
Vorher :
%Vor%Nach :
%Vor%Dieser Wert kann in DevStudio über das Projekteigenschaftenbedienfeld & gt; Konfigurationseigenschaften & gt; Allgemein & gt; Platform Toolset :: Wählen Sie einen der Werte aus dem Dropdown-Menü aus.
Wie es aufgedeckt wurde:
Erstellen Sie ein leeres neues Projekt in MSVC2013 desselben Typs
Verwenden Sie Beyond Compare (oder ein anderes visuelles Vergleichswerkzeug, das die zu vergleichenden Dateien einfach durch Kopieren von Chunks bearbeiten kann), um die Dateien zu kopieren und zu testen (durch erneutes Laden in DevStudio und Ausführen des Prozesses build
) ).
nächste Kopie über Bits der Projekteinstellungen (und duplizieren Sie die Blöcke, wenn Ihr ursprüngliches Projekt mehrere Build-Ziele wie meine hatte (Win32 / x64 / Itanium)), erneut zu testen.
spülen Sie und wiederholen Sie die oben genannten, bis Ihr "neues" Projekt das gleiche Problem wie das alte aufweist. Beschränken Sie sich auf eine minimale XML-Teilmenge in der .vcproj
-Datei.
Die Schlussfolgerung: Wenn Sie auf dieses Problem stoßen, überprüfen Sie alle Ihre Projektkonfigurationseinträge. Und wenn es hart auf hart kommt, grabe den Schwachkopf durch den oben beschriebenen Vergleich-und-Test-Prozess "Teilen und Herrschen".
Tags und Links msvc12