SQL Server Management Studio 18が開かない(スプラッシュ画面のみがポップアップする)


105

VS2019のみがインストールされたコンピューターにSSMS 18 GAをインストールしました。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 assembly.String、String typeName、Boolean ignoreCase、BindingFlags bindingAttr、バインダーバインダー、Object [] args、CultureInfo culture、Object [] activationAttributes、Evidence securityInfo、StackCrawlMark&stackMark)System.Activator.CreateInstance(String assemblyName、String typeName)at System.AppDomain .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が、問題は解決しません。


1
ログファイルは、-logパラメーターを追加して生成されます。例:"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" -log C:\drop\log.txt
ミッチ

1
-logスイッチを使用せずにC:\ Users(user)\ AppData \ Roaming \ Microsoft \ AppEnv \ 15.0 \ ActivityLog.xmlからログを取得することもできます
ステファン

回答:


125

Microsoft.VisualStudio.Shell.Interop.8.0.dllをC:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssembliesコピー元でオーバーレイする..\PrivateAssemblies\Interopと、IDEが開きます。(問題のDLL名を発見してくれたMitchに感謝します。)

これは今日の人気のQ&Aのように見えるので、これが私だけではないことを知ってうれしいです。


私にとっては、Microsoft.VisualStudio.Shell.Interop.8.0コピー先の追加フォルダーがありました。
アンデス

魅力と命の恩人のように働いた。ありがとう。
HartleySan

私のために働いた。\ PrivateAssemblies から \ PublicAssembliesにコピーます。
Hairgami_Master

65

以下のようローナンArielyはreccomends公式のソリューションは、公開されているから行を削除推奨します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

1
のどのバージョンでgacutilも問題ありません。または、SDKのバージョンがインストールされていない場合に使用できますpowershell
ミッチ

1
StackExchangeが大好きです。完全に私のために働いた。
マット・ザ・ニンジャ

ナイス..この作品は私にとって
ジャティン・ガディヤ

どうやって知ったの?ありがとうございました!
開発者

29

これは既知の問題であり、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


1
これは承認済みの回避策です。
オムツィヒ

あなたはそれが@Omzigである必要がありますが、何らかの理由で投票の最大数さえ得られませんでした
Ronen

1
適切な回避策.. !! サンズメイト、これは問題を修正しました。
モハメドアヤス

あなたは大歓迎@MohamedAyas😃ある
Ronen氏Ariely

SQL Management Studio 2014を持っていますが、そのようなフォルダーはありません。ssms.exe.configはC:\ Program Files(x86)\ Microsoft SQL Server \ 120 \ Tools \ Binn \ ManagementStudio ...にあり、コンテンツはここで言及した内容とは関係ありません。助けてください?
jstuardo

1

SQL Server 2017とSSMS 18.0を使用して新たに構築されたServer 2016で同じ問題を解決しましたが、2回の再起動後に消え、2019年3月のO ​​/ Sパッチでサーバーに完全にパッチが適用されました。これを実際にサポートしているO / Sパッチであるかどうかを確認するために、さらにテストを試みますが、その間に他のサーバーにインストールするものは何も知りません。

再起動後はよりランダムに見えますが、私が気づいたのは、インストール直後にSSMSが動作することですが、組織のSCCMはさまざまなもののインストールを開始し、SSMSは動作を停止します。今、容疑者は「.NET Framework 3.5 Server Feature 2016」です


0

この問題には別の解決策があります。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:

上記の「.pkgdef」ファイルを使用して、SSMS 18の起動時に作成される次のレジストリキーを削除します。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\SQL Server Management Studio\18.0_IsoShell_Config\RuntimeConfiguration\dependentAssembly\bindingRedirection\{8BC7AF31-B6DA-4B97-8B36-F0500DECB147}

もともとomzigが残したコメントに基づく


0

私は同じ問題に直面し、この問題をしばらく探した後、この問題に取り組む次のステップバイステップの記事を見つけました:

提供されるソリューションは次のとおりです。

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は問題なくロードされました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.