Visual Studio 2017 15.5にアップグレードした後、プロジェクトが正しくロードされません。すべてが利用不可とマークされています。
すべてのプロジェクトで次のエラーが表示されます。
エラー:無効な静的メソッド呼び出し構文:「[MSBuild] :: IsRunningFromVisualStudio()」。メソッド '[MSBuild] :: IsRunningFromVisualStudio'が見つかりません。静的メソッドの呼び出しは、$([FullTypeName] :: Method())の形式である必要があります。 $([System.IO.Path] :: Combine(
a
、b
))。 C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets
プロジェクトをリロードすると、次のエラーが表示されますプロンプト:
新しいプロジェクトを追加すると、次のエラープロンプトが表示されます。
1。 Visual Studio 2017の実行中のすべてのインスタンスを閉じます
2。 Launch(管理者として) "VS 2017の開発者コマンドプロンプト"
。次のコマンドを入力します(Professionalをお使いのエディションのEnterpriseまたはCommunityに置き換えるか、それに応じてパスを調整します)。
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Engine.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Conversion.Core.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll"
4。 Visual Studio 2017を再起動します
githubのこの問題 への応答から、GACに古いバージョンのMSBuildがあることが原因であることが多いようです。これは、VSの更新バージョンに同梱されているバンドルバージョンよりも優先して使用されます。
解決策は、Microsoft.Buildの古いバージョンをgacから削除することです。
Gac'dバージョンを見つけます:
gacutil /l | findstr Microsoft.Build
バージョン15.x.x.xのいずれかを探し、それらを削除します。
gacutil /u "Microsoft.Build, Version=15.{version_found}"
Visual Studioを再起動します
関連するアセンブリを削除する必要がある場合もありますMicrosoft.Build.Utilities.Core
、Microsoft.Build.Framework
およびMicrosoft.Build.Tasks.Core
そのバージョンの。
アップデータ経由で最新のVisual Studioバージョンをインストールした後、同じエラーメッセージが表示されました。
この問題は、少なくとも私の場合、Visual Studio更新プログラムのインストール後に再起動することで解決しました。
企業ネットワーク上のWindows 7 PC上のVisual Studio 2017でこの問題が発生しました。次の方法で問題を解決しようとしました。
VS2017 Community Editionバージョン15.5をインストールしたときに、VS2017がインストールされていない同僚のコンピューターに問題がないことに気付きました。
この時点で、私は敗北を認めなければなりません。唯一の簡単な解決策は、ファイル内の行を置き換えることです。
ファイルの終わり近くに行があります:
<NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and '$([MSBuild]::IsRunningFromVisualStudio())'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
$([MSBuild]::IsRunningFromVisualStudio())
をtrue
に置き換えるだけです:
<NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and 'true'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
ただし、これはプロジェクトのロードのみを許可します-これを使用してプロジェクトをビルドすることはできません。
Visual Studioを最初からダウンロードしてインストールできるように、マシンのイメージを再作成するように依頼します。
(Microsoftがすぐに修正を提供することを望みます。)