SSMS 18 GA= VS2019のみがインストールされているコンピューターにインストールしました。SSMSを開こうとすると、スプラッシュ画面が表示されますが、プロセスは終了します。
-log
パラメータを指定してssmsを実行すると、エラーメッセージが表示されます。
パッケージ[タスクスケジューラパッケージ]のCreateInstanceが失敗しましたソース: 'mscorlib'説明:ファイルまたはアセンブリ 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 15.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'または次のいずれかを読み込めませんでしたその依存関係。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)System.IO.FileLoadException:ファイルまたはアセンブリ 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 15.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)ファイル名: 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 15.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a' ---> System.IO.FileLoadException:ファイルをロードできなかったか、アセンブリ 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 8.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)ファイル名: 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 8.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'
WRN:アセンブリバインディングログがオフになっています。アセンブリバインドの失敗のログ記録を有効にするには、レジストリ値[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)を1に設定します。注:アセンブリバインドの失敗のログ記録には、パフォーマンスの低下が伴います。この機能をオフにするには、レジストリ値[HKLM\Software\Microsoft\Fusion!EnableLog]を削除します。
system.Reflection.RuntimeAssembly.GetType(RuntimeAssembly Assembly、String name、Boolean throwOnError、Boolean ignoreCase、ObjectHandleOnStack type)at System.Reflection.RuntimeAssembly.GetType(String name、Boolean throwOnError、Boolean ignoreCase)at System.Activator.CreateInstance(String System.AppDomainのSystem.Activator.CreateInstance(String assemblyName、String typeName)のassemblyString、String typeName、Boolean ignoreCase、BindingFlags bindingAttr、Binderバインダ、Object [] args、CultureInfoカルチャ、Object [] activationAttributes、Evidence securityInfo、StackCrawlMark&stackMark) .CreateInstance(String assemblyName、String typeName)
System.IO.FileLoadException:ファイルまたはアセンブリ 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 8.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)ファイル名: 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 8.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'
WRN:アセンブリバインディングログがオフになっています。アセンブリバインドの失敗のログ記録を有効にするには、レジストリ値[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)を1に設定します。注:アセンブリバインドの失敗のログ記録には、パフォーマンスの低下が伴います。この機能をオフにするには、レジストリ値[HKLM\Software\Microsoft\Fusion!EnableLog]を削除します。
SSMSで「修復」を実行してC:\ProgramData\Package Cache\{AAA9F15B-AF45-4562-9991-93A848D3A902}v15.0.28307.421\redist\vs2017_isoshell_for_ssms.msi
の修復を試みましたが、問題は解決しません。
Microsoft.VisualStudio.Shell.Interop.8.0.dllをC:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
に..\PrivateAssemblies\Interop
からのコピーでオーバーレイし、IDEを開きます。(おかげでMitch問題のあるDLL名を発見するため。)
今日は人気のQ&Aのようですので、これが私だけではなかったことを嬉しく思います。
Ronan Arielyが推奨 、 公式のソリューションが公開されました は、_ssms.exe.config
_から行を削除することを推奨しています。
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe.config
内:
_<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- ...snip... -->
<runtime>
<!-- ...snip... -->
<!-- Remove this line (~line 38) -->
<NgenBind_OptimizeNonGac enabled="1" />
<!-- ...snip... -->
</runtime>
<!-- ...snip... -->
</configuration>
_
アセンブリをGACに追加する 前の解決策 を実行した場合は、おそらく次のコマンドを実行してアンインストールする必要があります。
_gacutil /u Microsoft.VisualStudio.Shell.Interop.8.0,Version=15.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
_
これは既知の問題であり、SSMS開発チームによって公開された新しい公式の回避策があります。
次のリンクのMicrosoftフィードバックシステムでオープンチケットを表示できます。 https://feedback.Azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not -run
提示された最初の回避策は、ファイルをコピーすることでした:_Microsoft.VisualStudio.Shell.Interop.8.0.dll
_
ディレクトリから:C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
ディレクトリに:C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
後で、より焦点を絞ったソリューションが公開されました(これは私が使用したものです):単にファイルを削除しますC:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
とにかく、上のリンクにあるように、チームは数日前に更新を公開しています。これは公式に更新された応答からの引用です:
当面の推奨される回避策は次のとおりです。
1)SSMSのすべてのインスタンスを閉じます
2)ssms.exe.configを編集します
3)次のテキストがある行を削除します(38行目である必要があります):NgenBind_OptimizeNonGac enabled =“ 1”
これは、SSMS 18.xの次のリリースでの変更と同じです。
注!ssms.exe.configファイルの場所は次のフォルダーにあります:C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE
SQL Server 2017とSSMS 18.0を使用して新しく構築されたサーバー2016で同じ問題を解決しましたが、2回の再起動後、サーバーに2019年3月のO / Sパッチが完全にパッチされました。私はそれが本当にO/Sパッチがこれを助けているかどうかを判断するために、さらにいくつかのテストを試みますが、その間にサーバーにインストールされている他のものは知りません。
再起動後はランダムに見えますが、今気付いたことは、SSMSはインストール直後に機能することですが、SCCMがさまざまなもののインストールを開始し、SSMSが機能しなくなります。今、容疑者は「 .NET Framework 3.5サーバー機能2016」
私は同じ問題に直面し、この問題をしばらく検索した後、私はこの問題に取り組む次の段階的な記事を見つけました:
提供されるソリューションは次のとおりです。
PrivateAssemblies\Interop\Microsoft.VisualStudio.Shell.Interop.8.0.dllファイル(アセンブリバージョン15.0.0.0のファイル)をPublicAssembliesフォルダーにコピーします。
手順は次のとおりです。
PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.8.0.dll
別の何かに、後でそのファイルが必要になる場合に備えて。Microsoft.VisualStudio.Shell.Interop.8.0.dll
ファイルPrivateAssemblies\Interop
をPublicAssemblies
フォルダに入れます。この変更後、SSMSは問題なく読み込まれました。
この問題には別の解決策があります。 Azureフィードバックアイテムについて SQL Server Management Studio 18 GA(15.0.18118.0)は.NET Framework 4.8と互換性がありません Erich Signerは次のように提案しています:
ステップ1:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
名前を変更し、このファイルに
.pkgdef
拡張子が付いていないことを確認します。または、ファイルを削除します。ステップ2:
次のレジストリキー(SSMS 18の起動時に上記の「.pkgdef」ファイルを使用して作成されます)を削除します。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\SQL Server Management Studio\18.0_IsoShell_Config\RuntimeConfiguration\dependentAssembly\bindingRedirection\{8BC7AF31-B6DA-4B97-8B36-F0500DECB147}
omzig が最初に残したコメントに基づく