51 votes

Déclaration de variable en ligne non compilée

J'ai reçu un message dans Visual Studio 2017, plus précisément, IDE0018 Variable declaration can be inlined.

Donc j'ai essayer d'utiliser une ligne déclaration de variable de la façon dont il est mentionné dans visual studio 2017 notes de version, mais je ne peux pas obtenir mon projet pour compiler.

Il ne montrent pas de messages d'erreur, mais le résultat montre "Rebuild All failed..... error CS1525: Invalid expression term 'int'"

L'erreur ne s'affiche dans la sortie, non pas comme une erreur dans la liste d'erreurs.

Voici un exemple du code que j'utilise qui est un échec.

if (int.TryParse(ExpYear, out int IExpYear))
  {
    if (IExpYear < DateTime.Now.Year || IExpYear > DateTime.Now.AddYears(10).Year)
    {
      e += "Expiration Year is invalid.\n";
    }
  }
  else
  {
    e += "Expiration Year is not a number.\n";
  }

Si je annuler le changement, il compile comme prévu. Est-il possible que je ne suis pas en utilisant le c#7 compilateur en quelque sorte?

Je vous remercie.

Mise à jour: j'ai trouvé le paramètre de langue dans le Build > Avancé et de le mettre de C# 7.0. La construction du projet me donne cette erreur:

SCC : erreur CS1617: Invalid option '7' pour /langversion; doit être ISO-1, ISO-2, par Défaut ou un nombre entier dans la plage de 1 à 6.

42voto

prudan Points 641

J'ai pu résoudre ce problème en installant le package Microsoft.Net.Compilers nuget pour v2.0.0-rc3 , la seule version installée auparavant était la 1.3.2 .

Je ne comprends toujours pas pourquoi les erreurs intellisense et du compilateur seraient visibles si le compilateur installé ne le supportait pas.

16voto

Dans le cas où la réponse ci-dessus ne fonctionne pas pour vous, car il ne fonctionne pas pour moi de faire ce qui suit:

Ouvrir le fichier csproj et de vérifier si vous avez le paquet suivant référencé dans le fichier après la mise à niveau, si oui, retirez-la.

<Import Project="packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

Ensuite, cochez la case "Projet ToolsVersion". Il doit être 15.0, c'est probablement le 14.0 si donc, vous avez à changer les choses.

<Project ToolsVersion="15.0" .../>

Puis il suffit de recharger la SOLUTION et vous êtes bon pour aller. Sachez que si vous sélectionnez "Recharger Projet" il vous donnera une erreur et impossible de la charger.

0voto

BoiseBaked Points 51

Pour définir l'utilisation du dernier compilateur C # publié:

Dans Visual Studio (j'utilise Visual Studio 2017), cliquez avec le bouton droit de la souris sur le projet et sélectionnez "Propriétés".

Sélectionnez l'onglet "Générer" dans la barre de menu de gauche

Cliquez sur le bouton "Avancé ..." dans le coin inférieur droit de la fenêtre "Construire"

Sous "Général", dans la zone de liste à droite de "Version du langage", sélectionnez "Dernière version mineure en C # (dernière)"

Assurez-vous également de maintenir l'EDI de Visual Studio à jour à l'aide du programme d'installation de Visual Studio.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X