wake-up-neo.com

Inline-Variablendeklaration wird nicht kompiliert

Ich habe eine Nachricht in Visual Studio 2017 erhalten, insbesondere IDE0018 Variable declaration can be inlined.

Ich versuche also, eine Inline-Variablendeklaration so zu verwenden, wie es in den Versionshinweisen zu Visual Studio 2017 erwähnt ist, aber ich kann mein Projekt nicht kompilieren. 

Es werden keine Fehlermeldungen angezeigt, die Ausgabe zeigt jedoch "Rebuild All failed..... error CS1525: Invalid expression term 'int'". 

Der Fehler wird nur in der Ausgabe angezeigt, nicht als tatsächlicher Fehler in der Fehlerliste.

Hier ist ein aktuelles Beispiel für den Code, den ich verwende, der fehlschlägt.

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";
  }

Wenn ich die Änderung rückgängig mache, wird sie wie erwartet kompiliert. Ist es möglich, dass ich den c # 7-Compiler nicht irgendwie verwende?

Vielen Dank.

Update: Ich habe die Spracheinstellung in Build> Advanced gefunden und auf C # 7.0 eingestellt. Beim Erstellen des Projekts wird dieser Fehler angezeigt:

CSC: Fehler CS1617: Ungültige Option '7' für/langversion; muss ISO-1, ISO-2, Default oder eine ganze Zahl im Bereich von 1 bis 6 sein.

34
prudan

Ich konnte dieses Problem beheben, indem ich das Paket Microsoft.Net.Compilers nuget für v2.0.0-rc3 installierte. Die einzige zuvor installierte Version war 1.3.2

Ich verstehe immer noch nicht, warum die Intellisense- und Compiler-Fehler angezeigt werden, wenn der installierte Compiler dies nicht unterstützt.

36
prudan

Falls die obige Antwort nicht funktioniert, tun Sie Folgendes:

Öffnen Sie die csproj-Datei, und prüfen Sie, ob nach der Aktualisierung das folgende Paket in der Datei enthalten ist. Wenn ja, entfernen Sie es.

<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')" />

Als nächstes überprüfen Sie die "Project ToolsVersion". Es muss 15.0 sein, wahrscheinlich 14.0, also muss man das ändern.

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

Laden Sie die LÖSUNG einfach neu und Sie können loslegen. Wenn Sie "Projekt neu laden" wählen, wird ein Fehler angezeigt, der nicht geladen wird. 

12

So legen Sie die Verwendung des zuletzt veröffentlichten C # -Compilers fest:

Klicken Sie in Visual Studio (ich verwende Visual Studio 2017) mit der rechten Maustaste auf das Projekt und wählen Sie "Eigenschaften".

Wählen Sie in der linken Menüleiste die Registerkarte "Erstellen"

Klicken Sie auf die Schaltfläche "Erweitert ..." in der rechten unteren Ecke des Fensters "Build"

Wählen Sie unter "Allgemein" in der Listbox rechts neben "Sprachversion" "C # letzte untergeordnete Version (neueste)"

Stellen Sie außerdem sicher, dass Visual Studio IDE mithilfe von Visual Studio Installer auf dem neuesten Stand ist.

0
BoiseBaked