Je viens d'installer SSMS 18 GA sur un ordinateur sur lequel seul VS2019 est installé. Lorsque j'essaie d'ouvrir SSMS, l'écran de démarrage s'affiche, mais le processus se termine.
L'exécution de ssms avec le -log
paramètre révèle un message d'erreur:
Echec de CreateInstance pour le package [Package du planificateur de tâches] Source: 'mscorlib' Description: Impossible de charger le fichier ou l'assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, version = 15.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a' ou l'un de ceux-ci. ses dépendances. La définition du manifeste de l'assembly localisé ne correspond pas à la référence de l'assembly. (Exception de HRESULT: 0x80131040) System.IO.FileLoadException: impossible de charger le fichier ou l'assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 15.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a' ou une de ses dépendances. La définition du manifeste de l'assembly localisé ne correspond pas à la référence de l'assembly. (Exception de HRESULT: 0x80131040) Nom du fichier: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 15.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a '---> System.IO.FileLoadException: impossible de charger le fichier ou l'assembly' Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a 'ou une de ces informations. . La définition du manifeste de l'assembly localisé ne correspond pas à la référence de l'assembly. (Exception de HRESULT: 0x80131040) Nom du fichier: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a'
WRN: la journalisation de la liaison d'assemblage est désactivée. Pour activer la journalisation des échecs de liaison d'assemblages, définissez la valeur de registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) sur 1. Remarque: La journalisation des échecs de liaison d'assemblages peut être pénalisée. Pour désactiver cette fonctionnalité, supprimez la valeur de registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
à System.Reflection.RuntimeAssembly.GetType (RuntimeAssembly assembly, Nom de la chaîne, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack) à System.Reflection.RuntimeAssembly.GetType (Nom de chaîne, Boolean throwOn, à la fois un nom de domaine, une valeur assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, classeur Binder, Object [] arguments, culture CultureInfo, Object [] activationAttributes, Evidence securityInfo, StackCrawlMark et stackMark) à System.Activator.CreateInstance (String assemblyName, à String.Name). .CreateInstance (String assemblyName, String typeName)
System.IO.FileLoadException: impossible de charger le fichier ou l'assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a' ou l'une de ses dépendances. La définition du manifeste de l'assembly localisé ne correspond pas à la référence de l'assembly. (Exception de HRESULT: 0x80131040) Nom du fichier: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a'
WRN: la journalisation de la liaison d'assemblage est désactivée. Pour activer la journalisation des échecs de liaison d'assemblages, définissez la valeur de registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) sur 1. Remarque: La journalisation des échecs de liaison d'assemblages peut être pénalisée. Pour désactiver cette fonctionnalité, supprimez la valeur de registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
J'ai essayé d'exécuter "Réparer" sur SSMS et j'ai essayé de le réparer C:\ProgramData\Package Cache\{AAA9F15B-AF45-4562-9991-93A848D3A902}v15.0.28307.421\redist\vs2017_isoshell_for_ssms.msi
, mais le problème persiste.
la source
-log
paramètre. Exemple:"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" -log C:\drop\log.txt
Réponses:
Je viens de superposer Microsoft.VisualStudio.Shell.Interop.8.0.dll
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
avec la copie à partir de..\PrivateAssemblies\Interop
et l'EDI s'ouvre. (Merci à Mitch d'avoir découvert le nom de la DLL incriminée.)Cela ressemble à une séance de questions-réponses populaire aujourd'hui, alors je suis heureux de savoir que ce n'était pas que moi.
la source
Microsoft.VisualStudio.Shell.Interop.8.0
dossier supplémentaire dans lequel copier.Comme le recommande Ronan Ariely , une solution officielle a été publiée, qui recommande de supprimer une ligne de
ssms.exe.config
.Dans
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe.config
:Si vous avez exécuté ma solution précédente d'ajout de l'assembly au GAC, vous devriez probablement le désinstaller en exécutant:
la source
gacutil
devrait être bien. Ou vous pouvez utiliserpowershell
si vous n'avez pas installé de version du SDK.Ce problème est connu et il existe une nouvelle solution de contournement officielle publiée par l'équipe de développeurs SSMS.
Vous pouvez afficher le ticket ouvert sur le système de commentaires Microsoft à l' adresse suivante: https://feedback.azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not-run
Histoire courte:
La première solution de contournement présentée consistait à copier le fichier:
Microsoft.VisualStudio.Shell.Interop.8.0.dll
du répertoire:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
dans le répertoire:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
Plus tard, une solution plus ciblée a été publiée (c’est ce que j’ai utilisé): il suffit de supprimer le fichier.
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
Quoi qu'il en soit, l'équipe a publié il y a plusieurs jours une mise à jour, comme vous pouvez le constater dans le lien ci-dessus. Voici une citation de la réponse officielle mise à jour:
Remarque! L'emplacement du fichier ssms.exe.config est dans le dossier:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE
la source
Je viens de traverser le même problème sur un serveur 2016 nouvellement construit avec SQL Server 2017 & SSMS 18.0, mais il s'est éteint après 2 redémarrages au cours desquels le serveur a été entièrement corrigé avec les correctifs de mars 2019. Je vais essayer de faire quelques tests supplémentaires pour déterminer s'il s'agit vraiment de correctifs O / S, mais je ne suis au courant d'aucune autre installation sur ce serveur.
Cela semble plus aléatoire après les redémarrages, mais ce que j’ai remarqué, c’est que SSMS fonctionne juste après l’installation, mais SCCM dans mon organisation commence à installer diverses choses et SSMS cesse de fonctionner. Maintenant, le suspect est ".NET Framework 3.5 Server Feature 2016"
la source
Il existe une autre solution à ce problème. Sur l'élément Azure Feedback, SQL Server Management Studio 18 GA (15.0.18118.0) n'est pas compatible avec .NET Framework 4.8 Erich Signer suggère:
Basé sur un commentaire laissé à l'origine par omzig
la source
J'ai fait face au même problème et après avoir cherché pendant un moment, j'ai trouvé l'article suivant, étape par étape, traitant de ce problème:
La solution fournie est:
Les étapes étaient les suivantes:
PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.8.0.dll
en quelque chose d'autre, juste au cas où j'aurais besoin de ce fichier ultérieurement.Microsoft.VisualStudio.Shell.Interop.8.0.dll
fichierPrivateAssemblies\Interop
dans lePublicAssemblies
dossier.Après cette modification, le SSMS chargé sans aucun problème.
la source