2016-07-04 24 views
6

Ho iniziato a ottenere il seguente errore quando si tenta di eseguire MSBuild tramite file batch sulla mia macchina.Errore nell'esecuzione di MSBuild

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets (283,22): errore MSB4086: Un confronto numerico è stata tentata su "10.0. 11000.0 "che restituisce" 10.0.11000.0 "anziché un numero, nella condizione " '$ (TargetPlatformVersion)'> = '10 .0.11000.0 '". [MyProject.csproj]

Questo accade su diversi progetti all'interno della soluzione.

Attualmente sono in esecuzione VS2015 (aggiornamento 3). Ho aggiornato dall'aggiornamento 2 di venerdì. Quindi è possibile che questo possa essere correlato.

Sulla base di vari post in linea (ad esempio this uno) sembra essere stato (ad un certo punto nel passato almeno) causato da Resharper. Tuttavia, ho aggiornato Resharper all'ultima versione ed eseguo una riparazione sull'installazione, senza alcun risultato. Ho persino tentato di sospenderlo all'interno di Visual Studio stesso.

Ho anche tentato di riparare l'installazione VS215 stessa. Ma sto ancora ricevendo l'errore.

Come posso risolvere questo errore?

Aggiornamento

Così Quando eseguo questo file batch, è in esecuzione utilizzando VisualStudioVersion=12.0. Questo sembra essere parte del problema. Quando lo repoint a 12.0, la build viene eseguita correttamente.

Controllo in thats di file obiettivi gettando l'eccezione, si può vedere questo on line 283:

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

quindi non sono del tutto sicuro perché questo è il caso, ma sembra essere un problema in il file degli obiettivi da MS?

+0

Ho creato un problema su Microsoft Connect: https://connect.microsoft.com/VisualStudio/Feedback/Details/2891723 –

+0

Lo stesso qui. Upd3 è bacato. Compilare VS senza problemi – Grigory

+0

Non riesco a collegarmi a quel collegamento per qualche motivo. Ti capita di avere nuove informazioni su questo? Sono bloccato anche su di esso. :( – Michael

risposta

3

Provare a impostare le variabili di percorso e ambiente utilizzando il file batch fornito con VS2015, piuttosto che impostare il percorso msbuild e 'VisualStudioVersion' manualmente, per fare questo aggiungere il seguente al file batch:

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

I' Non sono sicuro di quale sia la causa principale, sospetto una mancata corrispondenza tra MSBuild e le versioni dei file di destinazione.

Vedere https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx per ulteriori informazioni sul file batch sopra.

+2

In realtà ho usato 'C: \ Programmi (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \ VsDevCmd.bat' invece - VcVarsall è presente solo se si installa il C++ strumenti VsDevCmd è il file batch utilizzato per impostare il prompt dei comandi dev. –

0

Sì, ho il sospetto che lo stesso - sembra che qualcuno ha fatto una sostituzione e inserire il segno &gt; anziché >. Ho trovato 3 voci di &gt; in quel file in luoghi dove logicamente deve essere > PS: Questa non è una risposta, i commenti non supportano caratteri di screening

Il testo in corsivo sopra era un po 'troppo veloce, ho ho pensato di aver riscontrato il problema con una pistola fumante, ma ricontrollare il codice all'interno del file .targets mostra che &gt; viene utilizzato correttamente nella condizione - uno deve codificare questi segni come da MSBuild Conditions, anche se non è ancora chiaro il motivo per cui è cercando di confrontare le stringhe con '> ='. Usarlo in altri 2 casi ha meno senso. Ad ogni modo, ho il sospetto che tu abbia ragione e questo è un problema con un file target specifico.

1

Stavo ottenendo lo stesso errore quando abbiamo creato la build in Teamcity. L'ho fatto funzionare dopo aver modificato la configurazione del passo build di teamcity per utilizzare MSBuild Tools 2015 per la versione MSBuild e 14.0 come versione degli strumenti di MSBuild. enter image description here

Problemi correlati