Nach dem Upgrade auf Visual Studio 2017 15.5 wird keines meiner Projekte korrekt geladen. Alle sind als nicht verfügbar markiert.
Ich bekomme den folgenden Fehler für jedes Projekt:
error: Ungültige statische Methodenaufrufsyntax: "[MSBuild] :: IsRunningFromVisualStudio ()". Methode '[MSBuild] :: IsRunningFromVisualStudio' wurde nicht gefunden. Der Aufruf der statischen Methode sollte folgende Form haben: $ ([FullTypeName] :: Method ()), z. $ ([System.IO.Path] :: Kombinieren (
a
,b
)). C: \ Programme (x86) \ Microsoft Visual Studio \ 2017 \ Professionell \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets
Das Neuladen des Projekts erzeugt diese Fehlermeldung:
Das Hinzufügen neuer Projekte erzeugt diese Fehlermeldung:
1. Schließen Sie alle laufenden Instanzen von Visual Studio 2017
2. Starten Sie die Visual Studio 2017 Developer-Eingabeaufforderung
3. Geben Sie die folgenden Befehle ein (ersetzen Sie Professional durch Ihre Edition, entweder Enterprise oder Community, oder passen Sie den Pfad entsprechend an):
%Vor%4. Starten Sie Visual Studio 2017 neu
Nach der Installation der neuesten Visual Studio-Version über den Updater habe ich die gleichen Fehlermeldungen erhalten.
Das Problem wurde, zumindest in meinem Fall, durch einen Neustart nach der Installation des Visual Studio-Updates behoben.
Ich hatte dieses Problem mit Visual Studio 2017 auf einem Windows 7-PC in einem Unternehmensnetzwerk. Ich habe versucht, das Problem auf folgende Weise zu beheben:
Ich habe festgestellt, dass auf dem Computer eines Kollegen, auf dem VS2017 noch nicht installiert war, bei der Installation von VS2017 Community Edition Version 15.5 kein Problem aufgetreten ist.
An diesem Punkt muss ich mich geschlagen geben. Die einzige einfache Lösung besteht darin, die Zeile in der Datei zu ersetzen:
Am Ende der Datei befindet sich eine Zeile:
<NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and '$([MSBuild]::IsRunningFromVisualStudio())'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
Ersetzen Sie einfach die $([MSBuild]::IsRunningFromVisualStudio())
durch true
:
<NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and 'true'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
Dies ermöglicht jedoch nur das Laden der Projekte - Sie können es nicht zum Erstellen des Projekts verwenden.
Ich werde darum bitten, dass meine Maschine neu abgebildet wird, damit ich Visual Studio einfach von Grund auf neu herunterladen und installieren kann.
(Ich hoffe, Microsoft wird bald eine Lösung finden.)
Aus den Antworten auf dieses Problem auf GitHub geht hervor, dass es oft dadurch verursacht wird, dass es eine ältere Version von MSBuild in der GAC. Dies wird dann vor der gebündelten Version verwendet, die mit der aktualisierten Version von VS ausgeliefert wird.
Die Lösung besteht darin, die alte Version von Microsoft.Build aus dem gac zu entfernen.
Finde die gac'd-Versionen:
gacutil /l | findstr Microsoft.Build
Suchen Sie nach einer der Versionen 15.x.x.x und entfernen Sie sie dann:
gacutil /u "Microsoft.Build, Version=15.{version_found}"
Starten Sie Visual Studio neu
Es kann auch notwendig sein, die zugehörigen Assemblies Microsoft.Build.Utilities.Core
, Microsoft.Build.Framework
und Microsoft.Build.Tasks.Core
dieser Version zu entfernen.
Die Lösung, die von henkmollema in diesem Thread bereitgestellt wird: Ссылка war, das Visual Studio-Installationsprogramm von Anfang an zu starten Menü und führen Sie eine Reparatur durch.
Tags und Links msbuild visual-studio-2017