Acabei de instalar o SSMS 18 GA em um computador com apenas o VS2019 instalado e, quando tento abrir o SSMS, a tela inicial aparece, mas o processo é encerrado.
A execução de ssms com o -log
parâmetro revela uma mensagem de erro:
Falha no CreateInstance para o pacote [Pacote do Agendador de Tarefas] Origem: 'mscorlib' Descrição: Não foi possível carregar o arquivo ou o conjunto 'Microsoft.VisualStudio.Shell.Interop.8.0, Versão = 15.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' ou um dos suas dependências. A definição do manifesto da montagem localizada não corresponde à referência da montagem. (Exceção de HRESULT: 0x80131040) System.IO.FileLoadException: Não foi possível carregar o arquivo ou assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Versão = 15.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' ou uma de suas dependências. A definição do manifesto da montagem localizada não corresponde à referência da montagem. (Exceção de HRESULT: 0x80131040) Nome do arquivo: 'Microsoft.VisualStudio.Shell.Interop.8.0, Versão = 15.0.0.0, Culture = Neutral, PublicKeyToken = b03f5f7f11d50a3a '---> System.IO.FileLoadException: não foi possível carregar o arquivo ou o conjunto' Microsoft.VisualStudio.Shell.Interop.8.0, versão = 8.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'ou uma de suas dependências . A definição do manifesto da montagem localizada não corresponde à referência da montagem. (Exceção de HRESULT: 0x80131040) Nome do arquivo: 'Microsoft.VisualStudio.Shell.Interop.8.0, Versão = 8.0.0.0, Cultura = neutra, PublicKeyToken = b03f5f7f11d50a3a'
WRN: O log de ligação da montagem está desativado. Para habilitar o log de falha de ligação de montagem, defina o valor do Registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) como 1. Nota: Há alguma penalidade de desempenho associada ao log de falha de ligação de montagem. Para desativar esse recurso, remova o valor do registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
em System.Reflection.RuntimeAssembly.GetType (assembly RuntimeAssembly, nome da String, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack tipo) em System.Reflection.RuntimeAssembly.GetType (Nome da string, Boolean throwOnError, Boolean ignoreCase) em System.ARuntimeAssembly. assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activationAttributes, Evidence securityInfo, StackCrawlMark & stackMark) em System.Activator.CreateInstance (String assemblyName, String typeName) em System.AppDomain .CreateInstance (String assemblyName, String typeName)
System.IO.FileLoadException: não foi possível carregar o arquivo ou assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Versão = 8.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' ou uma de suas dependências. A definição do manifesto da montagem localizada não corresponde à referência da montagem. (Exceção de HRESULT: 0x80131040) Nome do arquivo: 'Microsoft.VisualStudio.Shell.Interop.8.0, Versão = 8.0.0.0, Cultura = neutra, PublicKeyToken = b03f5f7f11d50a3a'
WRN: O log de ligação da montagem está desativado. Para habilitar o log de falha de ligação de montagem, defina o valor do Registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) como 1. Nota: Há alguma penalidade de desempenho associada ao log de falha de ligação de montagem. Para desativar esse recurso, remova o valor do registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Tentei executar o "Reparo" no SSMS e tentei o reparo C:\ProgramData\Package Cache\{AAA9F15B-AF45-4562-9991-93A848D3A902}v15.0.28307.421\redist\vs2017_isoshell_for_ssms.msi
, mas o problema persiste.
fonte
-log
parâmetro Por exemplo:"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" -log C:\drop\log.txt
Respostas:
Acabei de substituir o Microsoft.VisualStudio.Shell.Interop.8.0.dll
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
com a cópia..\PrivateAssemblies\Interop
e o IDE é aberto. (Agradecemos a Mitch por descobrir o nome da DLL ofensiva.)Parece uma pergunta e resposta popular hoje, então fico feliz em saber que não fui só eu.
fonte
Microsoft.VisualStudio.Shell.Interop.8.0
pasta adicional para copiar.Como Ronan Ariely recomenda , foi publicada uma solução oficial que recomenda remover uma linha de
ssms.exe.config
.Em
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe.config
:Se você executou minha solução anterior de adicionar o assembly ao GAC, provavelmente deve desinstalá-lo executando:
fonte
gacutil
deve estar bem. Ou você pode usarpowershell
se você não tem uma versão do SDK instalada.Esse é um problema conhecido e há uma nova solução oficial publicada pela equipe de desenvolvedores do SSMS.
Você pode visualizar o ticket aberto no sistema de feedback da Microsoft no seguinte link: https://feedback.azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not-run
História curta:
A primeira solução alternativa apresentada foi copiar o arquivo:
Microsoft.VisualStudio.Shell.Interop.8.0.dll
do diretório:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
no diretório:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
Posteriormente, uma solução mais focada foi publicada (que é o que eu usei): basta remover o arquivo
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
De qualquer forma, há alguns dias a equipe publicou uma atualização, como você pode ver no link acima. Esta é uma citação da resposta oficial atualizada:
Nota! o local do arquivo ssms.exe.config está na pasta:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE
fonte
Acabei de cruzar o mesmo problema em um Server 2016 recém-construído com o SQL Server 2017 e SSMS 18.0, no entanto, ele desapareceu após 2 reinicializações durante as quais o servidor foi totalmente corrigido com os patches de março de 2019. Tentarei fazer mais alguns testes para descobrir se realmente eram os patches de O / S que estavam ajudando isso, mas não tenho conhecimento de mais nada instalando nesse meio tempo nesse servidor.
Parece mais aleatório após a reinicialização, mas o que notei agora é que o SSMS funciona logo após a instalação, mas o SCCM na minha organização começa a instalar várias coisas e o SSMS para de funcionar. Agora, o suspeito é ".NET Framework 3.5 Server Feature 2016"
fonte
Há outra solução para esse problema. No item de Feedback do Azure, o SQL Server Management Studio 18 GA (15.0.18118.0) não é compatível com o .NET Framework 4.8. Erich Signer sugere:
Com base em um comentário originalmente deixado por omzig
fonte
Eu enfrentei o mesmo problema e, depois de procurar um pouco por esse problema, encontrei o seguinte artigo passo a passo sobre esse problema:
A solução fornecida é:
Os passos foram os seguintes:
PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.8.0.dll
para outra coisa, apenas no caso de eu precisar desse arquivo posteriormente.Microsoft.VisualStudio.Shell.Interop.8.0.dll
arquivoPrivateAssemblies\Interop
para aPublicAssemblies
pasta.Após essa alteração, o SSMS foi carregado sem nenhum problema.
fonte