昨夜のアップデートで、VS2015でコードの候補をctrl + '.' とすることができなくなりました。以下のようなエラーメッセージが出ます: >; ファイルまたはアセンブリ 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の1つをロードできませんでした。システムは指定されたファイルを見つけることができません。
まだ構築や開発はできるのですが、この機能がないと本当に困ることになります。正直言って、私は軟弱になりつつあります!
どなたかこのバグの修正案をお持ちの方はいらっしゃいませんか?
CaptainAmericaが指摘するように、解決策はNuGetからCodeDomアセンブリを更新することです。Visual Studioでこれを実行する方法を指摘する必要があります。 私はここで解決策を見つけました:
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
基本的には、Visual Studioのメニューで選択します:
ツール-> Nugetパッケージマネージャ-> パッケージマネージャコンソール`。
Visual Studioの下部に表示されるコンソールで、次のコマンドを実行してください:
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Visual Studio 2015 Update 2でも同じ問題が発生しました。すべてのソリューションで問題をグローバルに解決するには、 Visual Studio 2015 Update 3 に更新します。 ここにリンクがあります:ここからダウンロード。
オプションのいずれかが機能しない場合は、このシナリオを処理するための詳細なガイドを次に示します。...
まず、バージョンが重要です。 エラーで言及されているバージョンに注意してください。..
Could not load file or assembly 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
上記のエラーが表示されている場合は、バージョン1.3.1が見つからないことを意味します。 新しいVSプロジェクトを作成してください。 設定はありません。単純なコンソールアプリケーションにすぎません。 プロジェクトテンプレートの準備ができたら、パッケージマネージャに移動し、指定したバージョンで次のコマンドを実行します。..
Install-Package Microsoft.CodeAnalysis -Version 1.3.1
これにより、すべてのパッケージがインストールされます。 完成させてください。 それが終わったら。 この新しく作成されたプロジェクトはまったく必要ありません。 完全に削除できます。 真剣に。! 削除できます。 これは、そのパッケージをグローバルニューゲットレベルでインストールしたかったためです。 何かをインストールすると、nugetはマシンのグローバルレベルにも保存します。 パスはこのようなものになります。..
C:\Users\<<Your Windows User>>\.nuget\packages
あなたは従うことによってあなたの道を知ることができます。..
%USERPROFILE%\.nuget\packages
これで、必要な Microsoft.CodeAnalysis.dll が次のフォルダに表示されます。..
C:\Users\<<Your Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45
上記のパスにはバージョン番号(1.3.1)が含まれていることに注意してください。 バージョンが異なる場合は、そのバージョンフォルダを調べてください。
これでdllができたので、そのdllをGACに追加するだけです。そのためには、 GacUtil.exe が必要です。
このファイルはVisual Studioとともにインストールされています。 Cドライブで「GacUtil」を検索できます。 私にとっては、それは下の道にあります。..
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools
次に、管理者としてコマンドプロンプトを実行し、現在のディレクトリをGacUtilを含むパスにナビゲートします。 GACにそのdllをインストールするコマンドの下を実行します。
gacutil
-i C:\Users\<<You Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45\Mi
crosoft.CodeAnalysis.dll
基本的に、グローバルにインストールしたdllへのパスを提供します。 インストールが成功した場合はメッセージが表示されます。
それで全部です。! Visual Studioを再度起動すると、この問題が修正されます。
このページを見つけたのですが、ページの下のほうの "Compatibility with ASP.NET" に、ASP.NET は Microsoft.CodeDom.Providers.DotNetCompilerPlatform パッケージを使用して Microsoft.CodeAnalysis アセンブリを更新するとあります。そこで、DotNetCompilerPlatformパッケージを1.0.0から1.0.3にアップデートしたところ、再び動作するようになりました!ああ、人生は再び順調だ!
すべてのソリューションでこの問題を解決するには、アセンブリ Microsoft.CodeAnalysis.dll を GAC - Global Assemblies Cache に直接インストールする必要がありました。
C:/Users/[user]/.nuget/packages/Microsoft.CodeAnalysis.Common/1.3.2/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll から Microsoft.CodeAnalysis.dll というファイルを取得しました。
アセンブリをGACにインストールするために、https://github.com/LTruijens/powershell-gac、PowerShellスクリプトを使用しました。
最後に、PowerShellから以下のコマンドで、アセンブリをGACにインストールすることに成功しました:
Add-GacAssembly [myPath]\Microsoft.CodeAnalysis.dll
NuGetパッケージで不足しているアセンブリを見つけました(最初のアセンブリが解決された後、複数の他の要素がありました):https://www.nuget.org/packages/Microsoft.Net.Compilers/1.3.1-rc。
DevコンソールのGacUtilを使用してインストールしました。
私の場合。, Visual Studio Solutionがプロジェクトの1つでビルド前のステップで「TextTransform.exe」を使用しようとしていたため、このエラーが発生しました。, しかし、私のローカルマシンは'でした。;ビルド前のステップで指定されたパスに TextTransform.exe
があり、それを修正する最初の試みは、 TextTransform.exe
を他の場所からVisual Studioが期待する場所にコピーすることでした。 TextTransform.exe
には他のサイレント依存関係があるため、これがこの問題を引き起こしているようです。
私の修正は、ビルド前の手順を変更して、ファイルを探すのではなく、
。 C:\ Program Files(x86)\ Common Files \ microsoft shared \ TextTemplating \ 14.0 \ TextTransform.exe。
。
代わりに、他のファイルの束を持つVisual Studioインストールフォルダを調べます。おそらく、そのうちの1つは「TextTransform.exe」のピア依存関係でした。
。 C:\ Program Files \ Visual Studio \ Common7 \ IDE \ TextTransform.exe。
。
それは私にとって物事を修正するように思われました。