it-swarm.asia

لن يفتح SQL Server Management Studio 18 (تظهر فقط شاشة البداية)

لقد قمت للتو بتثبيت SSMS 18 GA على جهاز كمبيوتر مثبت عليه VS2019 فقط ، وعندما أحاول فتح SSMS ستظهر شاشة البداية ، ولكن بعد ذلك تنتهي العملية.

تشغيل ssms مع -log تكشف المعلمة رسالة خطأ:

فشل CreateInstance للحزمة [حزمة جدولة المهام] المصدر: 'mscorlib' الوصف: تعذر تحميل الملف أو التجميع 'Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 15.0.0.0 ، الثقافة = محايد ، PublicKeyToken = b03f5f7f11d50a3a أو أحد تبعياتها. لا يتطابق التعريف الواضح للتجميع الموجود مع مرجع التجميع. (استثناء من HRESULT: 0x80131040) System.IO.FileLoadException: تعذر تحميل الملف أو التجميع "Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 15.0.0.0 ، الثقافة = محايد ، PublicKeyToken = b03f5f7f11d50a3a" أو أحد تبعياتها. لا يتطابق التعريف الواضح للتجميع الموجود مع مرجع التجميع. (استثناء من HRESULT: 0x80131040) اسم الملف: 'Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 15.0.0.0 ، الثقافة = محايد ، PublicKeyToken = b03f5f7f11d50a3a' ---> System.IO.FileLoadException: تعذر تحميل الملف أو التجميع "Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 8.0.0.0 ، الثقافة = محايد ، PublicKeyToken = b03f5f7f11d50a3a" أو أحد تبعياتها. لا يتطابق التعريف الواضح للتجميع الموجود مع مرجع التجميع. (استثناء من HRESULT: 0x80131040) اسم الملف: "Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 8.0.0.0 ، الثقافة = محايد ، PublicKeyToken = b03f5f7f11d50a3a"

WRN: يتم إيقاف تسجيل ربط التجميع. لتمكين تسجيل فشل ربط التجميع ، قم بتعيين قيمة التسجيل [HKLM\Software\Microsoft\Fusion! EnableLog] (DWORD) إلى 1. ملاحظة: هناك بعض جزاءات الأداء المرتبطة بتسجيل فشل ربط التجميع. لإيقاف هذه الميزة ، قم بإزالة قيمة التسجيل [HKLM\Software\Microsoft\Fusion! EnableLog].

في System.Reflection.RuntimeAssembly.GetType (RuntimeAssembly Assembly ، String name ، BooleanrowOnError ، Boolean ignoreCase ، ObjectHandleOnStack type) في System.Reflection.RuntimeAssembly.GetType (String name ، Boolean thrOnEroreIncreate Boolean System). assemblyString، String typeName، Boolean ignoreCase، BindingFlagsindingAttr، Binder Binder، Object [] args، CultureInfo ثقافة، Object [] activationAttributes، Evidence securityInfo، StackCrawlMark & ​​stackMark) على System.Activator.CreateInstance (String assemblyName، StrAppDName). .CreateInstance (String assemblyName ، String typeName)

System.IO.FileLoadException: تعذر تحميل الملف أو التجميع "Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 8.0.0.0 ، الثقافة = محايد ، PublicKeyToken = b03f5f7f11d50a3a" أو أحد تبعياته. لا يتطابق التعريف الواضح للتجميع الموجود مع مرجع التجميع. (استثناء من HRESULT: 0x80131040) اسم الملف: "Microsoft.VisualStudio.Shell.Interop.8.0 ، الإصدار = 8.0.0.0 ، الثقافة = محايد ، 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 ، لكن المشكلة لا تزال قائمة.

107
Mitch

لقد قمت بتراكب ملف 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 name.)

يبدو هذا سؤال وجواب رائج اليوم ، لذلك يسعدني أن أعرف أن هذا ليس أنا فقط.

125
Mark

كما Ronan 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
65
Mitch

هذه مشكلة معروفة وهناك حل رسمي جديد تم نشره بواسطة فريق مطوري SSMS.

يمكنك عرض التذكرة المفتوحة في نظام ملاحظات Microsoft في الرابط التالي: https://feedback.Azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not - تشغيل

تاريخ قصير:

الحل الأول الذي تم تقديمه هو نسخ الملف: 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 = "1"

هذا هو التغيير نفسه الذي سيكون في الإصدار القادم من SSMS 18.x

ملاحظة! موقع ملف ssms.exe.config في المجلد: C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE

30
Ronen Ariely

لقد تجاوزت للتو نفس المشكلة على خادم 2016 تم إنشاؤه حديثًا مع SQL Server 2017 و SSMS 18.0 ، ومع ذلك فقد اختفت بعد 2 عملية إعادة تشغيل تم خلالها تصحيح الخادم بالكامل مع تصحيحات O/S لشهر مارس 2019. سأحاول إجراء المزيد من الاختبارات لمعرفة ما إذا كانت بالفعل تصحيحات O/S تساعد في ذلك ، لكنني لست على علم بأي شيء آخر يتم تثبيته في الوقت الحالي على هذا الخادم.

يبدو الأمر أكثر عشوائية بعد إعادة التشغيل ، لكن ما لاحظته الآن هو أن SSMS يعمل مباشرة بعد التثبيت ، ولكن بعد ذلك SCCM في مؤسستي يبدأ في تثبيت أشياء مختلفة ويتوقف SSMS عن العمل. الآن المشتبه به هو " .NET Server 3.5 Server Feature 2016 "

1
M. Strzelecki

واجهت نفس المشكلة وبعد البحث لبعض الوقت عن هذه المشكلة ، وجدت المقالة التالية خطوة بخطوة التي تتناول هذه المشكلة:

الحل المقدم هو:

انسخ ملف 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 دون أي مشكلة.

1
Hadi

هناك حل آخر لهذه المشكلة. في عنصر ملاحظات 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

0
user126897