2016-07-04 20 views
6

Ich habe den folgenden Fehler erhalten, wenn MSBuild über Batch-Datei auf meinem Computer ausgeführt wird.Fehler beim Ausführen von MSBuild

C: \ Program Files (x86) \ MSBuild \ Microsoft \ Visualstudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets (283,22): Fehler MSB4086: Ein numerischer Vergleich wurde auf „10.0 versucht. 11000.0 ", die zu" 10.0.11000.0 "anstelle einer Zahl, in Bedingung" '$ (TargetPlatformVersion)'> = '10 .0.11000.0 '"auswertet. [MyProject.csproj]

Dies geschieht bei mehreren verschiedenen Projekten innerhalb der Lösung.

Ich laufe gerade VS2015 (Update 3). Ich habe mich am Freitag von Update 2 aktualisiert. Es ist also möglich, dass dies zusammenhängt.

Basierend auf verschiedenen online-Beiträge (wie this eins) scheint es (zumindest irgendwann in der Vergangenheit) durch Resharper verursacht worden zu sein. Ich habe jedoch Resharper auf die neueste Version aktualisiert und eine Reparatur bei der Installation ausgeführt, ohne Erfolg. Ich habe sogar versucht, es in Visual Studio selbst zu suspendieren.

Ich habe auch versucht, die VS215-Installation selbst zu reparieren. Aber ich bekomme immer noch den Fehler.

Wie löse ich diesen Fehler?

aktualisieren

Also, wenn ich diese Batchdatei ausführen, läuft es VisualStudioVersion=12.0 verwenden. Dies scheint Teil des Problems zu sein. Wenn ich es bei 12.0 repoint, läuft der Build gut.

die Ziele Datei das ist Überprüfung in die Ausnahme zu werfen, können Sie dies auf der Leitung 283 sehen:

<PropertyGroup> 
    <SdkIsRS1OrLater>False</SdkIsRS1OrLater> 
    <SdkIsRS1OrLater 
    Condition="'$(TargetPlatformVersion)' &gt;= '10.0.11000.0'">True</SdkIsRS1OrLater> 
</PropertyGroup> 

So bin ich nicht ganz sicher, warum dies der Fall ist, aber es scheint, in ein Thema zu sein die Zieldatei von MS?

+0

Ich habe ein Problem bei Microsoft Connect erstellt: https://connect.microsoft.com/VisualStudio/Feedback/Details/2891723 –

+0

Das gleiche hier. Upd3 ist fehlerhaft. VS kompiliert ohne irgendwelche Probleme – Grigory

+0

Ich bin nicht in der Lage, zu diesem Link bei der Verbindung aus irgendeinem Grund zu bekommen. Hast du zufällig neue Informationen zu diesem Thema? Ich stecke auch darauf fest. :( – Michael

Antwort

3

Versuchen Sie den Pfad und die Umgebungsvariablen mit der Batch-Datei mit VS2015 ausgeliefert Einstellung anstatt die msbuild Pfadeinstellung und ‚VisualStudioVersion‘ manuell, das die folgenden Batch-Datei zu tun hinzufügen:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" 

I‘ Ich bin mir nicht sicher, was die Ursache ist, ich vermute eine Diskrepanz von MSBuild und Zieldateiversionen.

Weitere Informationen zur obigen Batch-Datei finden Sie unter https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx.

+2

Ich habe tatsächlich 'C: \ Programme (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \ VsDevCmd.bat' stattdessen verwendet - VcVarsall ist nur vorhanden, wenn Sie das C++ installieren VsDevCmd ist die Stapeldatei, die zum Einrichten der dev-Eingabeaufforderung verwendet wird. –

0

Ja, ich vermute das gleiche - scheint, dass jemand einen ersetzen und setzen &gt; Zeichen anstelle von >. Ich fand 3 Einträge von &gt; in dieser Datei an Orten, wo es logisch > PS sein muss: Das ist keine Antwort, Kommentare nicht unterstützen Screening chars

Der kursive Text oben ein bisschen zu schnell war, ich dachte, dass ich das Problem mit einer rauchenden Pistole erwischt habe, aber die Überprüfung des Codes innerhalb dieser .targets Datei zeigt, dass &gt; korrekt in der Bedingung verwendet wird - man muss diese Zeichen nach MSBuild Conditions kodieren, obwohl es immer noch nicht klar ist, warum es ist Versuche, Strings mit '> =' zu vergleichen. Verwendung in anderen 2 Fällen macht weniger Sinn. Wie auch immer, ich vermute, dass Sie Recht haben und dies ist ein Problem mit einer bestimmten Zieldatei.

1

Ich bekam den gleichen Fehler, als wir den Build in Teamcity erstellten. Ich habe es funktioniert nach dem Ändern der Build-Schritt-Teamcity-Konfiguration, MSBuild Tools 2015 für MSBuild Version und 14.0 als MSBuild Tools-Version zu verwenden. enter image description here