Visual Studio bauen will, mit der falschen platform toolset
Ich habe ein Upgrade auf eine Lösung von VS2010, VS2012.
Das habe ich mit anderen Lösungen, und es funktionierte gut.
Aber jetzt, wenn ich versuchte, Sie zu bauen, die aktualisierte Lösung, der compiler sagt mir:
Error 1596 error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install Visual Studio 2010 to build using the Visual Studio 2010 build tools. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets 42 5 praat3
Ich weiß nicht, warum der compiler versucht, VS2010.
In der Projekt-Eigenschaftenseiten, sehe ich unter "Debug Quellcode-Dateien" werden die folgenden Einträge:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc\
etc.
Auch, wenn ich die "Platformtoolset" , "Inherit from Projekt vor oder project standard", es wird standardmäßig auf "v100". Ich denke, das ist der beste Hinweis darauf, was schief läuft hier.
Durch Zufall habe ich es geschafft zu öffnen, die Microsoft.Cpp.- Plattform.Ziele-Datei, und ich sehe, v90 und v100 werden dort aufgelistet, aber nicht v110.
Könnte jemand, der verwendet nur VS2012 vielleicht haben Sie einen Blick auf diese Datei?
Dies ist, was es sieht aus wie bei mir:
<!--
***********************************************************************************************
Microsoft.Cpp.Platform.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
This file defines the steps/targets required to build Visual C++ projects
specifically on x86 platforms.
Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ToolsetTargetsFound Condition="Exists('$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\$(PlatformToolset)\Microsoft.Cpp.$(Platform).$(PlatformToolset).targets')">true</ToolsetTargetsFound>
<VCTargetsPathEffective Condition="'$(ToolsetTargetsFound)' == 'true'">$(VCTargetsPath)</VCTargetsPathEffective>
</PropertyGroup>
<!-- Import Before -->
<Import Condition="Exists('$(VCTargetsPath)\Platforms\$(Platform)\ImportBefore')" Project="$(VCTargetsPath)\Platforms\$(Platform)\ImportBefore\*.targets"/>
<!-- Import platform toolset file if found in this version -->
<Import Condition="'$(ToolsetTargetsFound)' == 'true'" Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\$(PlatformToolset)\Microsoft.Cpp.$(Platform).$(PlatformToolset).targets" />
<!-- Try to find the toolset in older versions -->
<Import Condition="'$(ToolsetTargetsFound)' != 'true' and '$(MinSupportedVCTargetsVersion)' != 'v110'" Project="Microsoft.Cpp.Platform.Redirect.targets" />
<PropertyGroup>
<PrepareForBuildDependsOn>PlatformPrepareForBuild;$(PrepareForBuildDependsOn)</PrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="PlatformPrepareForBuild" DependsOnTargets="$(PlatformPrepareForBuildDependsOn)">
<PropertyGroup>
<ConfigurationPlatformExists Condition="'%(ProjectConfiguration.Identity)' == '$(Configuration)|$(Platform)'">true</ConfigurationPlatformExists>
</PropertyGroup>
<!-- Error out when building an platform that is not set in the project file -->
<VCMessage Code="MSB8013" Type="Error" Arguments="$(Configuration)|$(Platform)" Condition="'$(DesignTimeBuild)'!='true' and '$(ConfigurationPlatformExists)' != 'true'"/>
<!-- Check if toolset exists in Visual Studio 2010 or Dev11 -->
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v100);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(ToolsetTargetsFound)' != 'true' and '$(PlatformToolset)' == 'v100'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v90);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(ToolsetTargetsFound)' != 'true' and '$(PlatformToolset)' == 'v90'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(PlatformToolset);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(ToolsetTargetsFound)' != 'true' and '$(PlatformToolset)' != 'v90' and '$(PlatformToolset)' != 'v100'" />
</Target>
<!-- Import After -->
<Import Condition="'$(ToolsetTargetsFound)' == 'true' and Exists('$(VCTargetsPath)\Platforms\$(Platform)\ImportAfter')" Project="$(VCTargetsPath)\Platforms\$(Platform)\ImportAfter\*.targets"/>
</Project>
Danke für die Hilfe.
InformationsquelleAutor tmighty | 2013-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird das Projekt bauen mit VS2010 Compiler (Plattform-toolset). Sie könnten deinstalliert habe VS2010 und habe diesen Fehler.
Ändern Sie können die Plattform-toolset in der Projekt-Eigenschaften->allgemein->die Plattform-Toolset.
Ändern Sie in Visual Studio 2012.
Öffnen Sie die Projekt-Dateien in einem text-editor und suchen Sie nach
v100
. Alle sollten v110. Überprüfen Sie auch den Wert von$(VCInstallDir)
. Wenn diese definiert ist als eine variable, die Sie brauchen, um es zu löschen. Es sollte auf VS2012-Installationsverzeichnis.Beide negativ. Variable nicht gesetzt, und die Projekt-Datei nicht enthalten v100.
InformationsquelleAutor egur
Unter "C/C++" gab es eine lib in "Zusätzliche include-Verzeichnisse". Ich habe nicht mit dieser lib, aber es wurde verwiesen. Entfernt habe ich diese lib.
Ich auch alle gelöscht "studio 2010" - Einträge in der registry.
Ja, für mich Tat es das.
InformationsquelleAutor tmighty
Ich weiß, dies ist ein Alter thread, aber vielleicht helfen Sie jemanden, der hier kommt, wegen ähnlicher Probleme.
Ich hatte ein ähnliches problem. VS 2015 Gemeinschaft (MSBuild 14) erstellen einer c++ - app, wollte mit VS 2010 (v100) - tools. Es kamen alle nach unten geben msbuild eine ungültige Konfiguration. Seltsam.
So, überprüfen Sie alle Optionen und Parameter.
InformationsquelleAutor Jahmic
Gleichen Fehler für mich vor kurzem mit VS2017.
Stellte sich heraus, war die Lösung, nur fehlt eine abhängige Projekt.
Wenn dies die Ursache ist, sollten Sie etwas wie:
in der nächsten Zeile, nachdem die Fehlermeldung:
Dieser Fehler kann verwirrend sein, da Ihre Projekte wurden bereits umgeleitet.
InformationsquelleAutor Greg