9
votes

Une comparaison numérique a été effectuée sur "$ (MSBuildVersion)" qui donne la valeur "" au lieu d'un nombre, dans la condition "$ (MSBuildVersion)> = 16.1.0") "

J'obtiens cette erreur lorsque j'essaye de recharger mon projet que j'avais déchargé comme indiqué dans la capture d'écran ci-dessous:

entrez la description de l'image ici

Il dit que cette ligne provient de mon Microsoft.Managed.Core.targets

  • J'ai essayé de mettre à jour mes packages NuGet.
  • J'ai essayé de changer la valeur du chemin de la variable d'environnement vers l'emplacement de msbuild.exe
  • J'ai essayé de chercher une solution pour changer les objectifs Microsoft.Managed.Core.targets pour ignorer cette vérification, mais je ne pense pas que ce soit une bonne solution

L'échec se produit ici. Je crois que c'est la ligne qui échoue. Ci-dessous est de mon microsoft managed.core.targets

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (c)  Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information. -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <!-- Default this to false until the ".editorconfig in compiler" feature is no longer experimental.
         At that point this PropertyGroup can simply be deleted. -->
    <DiscoverEditorConfigFiles Condition="'$(DiscoverEditorConfigFiles)' == ''">false</DiscoverEditorConfigFiles>



  </PropertyGroup>

  <ItemGroup>
    <PotentialEditorConfigFiles Include="@(Compile->GetPathsOfAllDirectoriesAbove()->Combine('.editorconfig'))" Condition="'$(DiscoverEditorConfigFiles)' != 'false'" />
    <EditorConfigFiles Include="@(PotentialEditorConfigFiles->Exists())" Condition="'$(DiscoverEditorConfigFiles)' != 'false'" />
  </ItemGroup>


</Project>

Ceci provient de micrrosoft.managed.editorconfig.targets

 <Import Project="Microsoft.Managed.EditorConfig.targets" Condition="$(MSBuildVersion) >= 16.1.0" /> 


0 commentaires

3 Réponses :


2
votes

C'est la même erreur que j'obtiens aussi.

Une comparaison numérique a été tentée sur "$ (MSBuildVersion)" qui donne la valeur "" au lieu d'un nombre, dans la condition "$ (MSBuildVersion)> = 16.1.0".

J'ai résolu ce problème en vérifiant les mises à jour dans Visual Studio et en m'assurant que j'avais la dernière version de Visual Studio.

Depuis ce site , Andy Gocke de Microsoft écrit:

The Microsoft.Net.Compilers package requires newer versions of MSBuild as Visual Studio updates, so the 3.1.0 version requires MSBuild version 16.1.

J'espère que cela t'aides!


0 commentaires

7
votes

La façon dont j'ai pu résoudre ce problème était de redémarrer simplement Visual Studio


0 commentaires

2
votes

L'outil Microsoft (MS) Build de votre ordinateur n'est pas à jour. L'environnement de développement intégré (IDE) de Visual Studio (VS) 2017 sur votre 16.1.0 version 16.1.0 outil de génération MS. Cela ressort clairement du numéro de version 16.1.0 dans votre message d'erreur. Vous devez mettre à jour VS 2017 vers la dernière révision pour mettre à jour l'outil de génération MS vers la dernière version. Lorsque vous ouvrez VS Installer EXE sur votre ordinateur, vous verrez un bouton Mettre à jour dans la section VS 2017 si votre installation de Visual Studio n'est pas à jour, comme indiqué dans la capture d'écran ci-dessous:

entrez la description de l'image ici

Cliquez sur le bouton Mettre à jour pour mettre à jour VS, qui mettra également à jour l'outil de construction MS en interne. Démarrez Visual Studio une fois la configuration de la mise à jour terminée. Ouvrez à nouveau votre solution et rechargez le projet actuellement déchargé. Il devrait bien se charger maintenant.


0 commentaires