Program Visual Studio 2015 przestaje działać po zainstalowaniu rozszerzenia microsoft Dynamics 365 Report Authoring Extension

Ten artykuł zawiera rozwiązanie błędu występującego po uruchomieniu programu SQL Server Data Tools for Visual Studio.

Dotyczy: Microsoft Dynamics CRM
Oryginalny numer KB: 4032777

Symptomy

Uwaga

Opisany tutaj problem został rozwiązany w wersji 8.2.2.248 rozszerzenia tworzenia raportów firmy Microsoft Dynamics 365.

W następującym scenariuszu:

  • Masz program Visual Studio 2015 z zainstalowanymi narzędziami SQL Server Data Tools.
  • Instalowanie rozszerzenia microsoft Dynamics 365 report authoring (wersja 8.2.2.0171)

Po uruchomieniu programu SQL Server Data Tools for Visual Studio program Visual Studio zostanie zamknięty z komunikatem:

"Program Microsoft Visual Studio 2015 przestał działać"

Błąd w Podgląd zdarzeń systemu Windows może wyglądać następująco:

Aplikacja: devenv.exe
Opis: Proces został zakończony z powodu nieobsługiwanego wyjątku.
Informacje o wyjątku: System.IO.FileNotFoundException
at Microsoft.VisualStudio.Services.Client.AccountManagement.AccountManager.GetAccountProviderCore(System.Guid)
w witrynie Microsoft.VisualStudio.Services.Client.AccountManagement.AccountManager+<>c__DisplayClass32_0.<GetAccountProviderAsync>b__0()
at System.Threading.Tasks.Task'1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]. InnerInvoke()
w: System.Threading.Tasks.Task.Execute()
w: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)

Odinstalowanie rozszerzenia tworzenia raportów nie rozwiązuje problemu.

Przyczyna

Ten problem występuje z powodu problemu w procesie konfiguracji rozszerzenia tworzenia raportów. Po zainstalowaniu rozszerzenia tworzenia raportów przy użyciu domyślnej ścieżki instalacji następujące zestawy są umieszczane w C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDEprogramie , zastępując wszystkie starsze wersje plików znajdujących się już w tej lokalizacji.

  • Microsoft.IdentityModel.Clients.ActiveDirectory.dll — wersja pliku: 2.22.x.x
  • Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll — wersja pliku: 2.22.x.x

Program Visual Studio próbuje załadować starsze wersje plików, które nie istnieją, ponieważ plik devenv.exe.config zawiera wpis przekierowania powiązania, który nadal wskazuje wersję 2.16.0.0. Proces konfiguracji rozszerzenia tworzenia raportów nie zaktualizował przekierowania powiązania do wersji 2.22.0.0 po zastąpieniu plików.

Rozwiązanie

Aby rozwiązać ten problem, wykonaj następujące kroki, aby zmienić przekierowania powiązania w pliku devenv.exe.config, wskazując wersję 2.22.0.0:

  • Edytuj te dwa pliki, aby zmienić wartość wersji wpisu bindingRedirect na poprawną wersję 2.22.0.0:

    • C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE - devenv.exe.config
    • C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies - PreviewProcessingService.exe.config

    Uwaga

    Jeśli użyto innej lokalizacji instalacji niż domyślna, musisz zmodyfikować ścieżkę do tych plików do lokalizacji, w której zainstalowano program Visual Studio.
    Jeśli plik PreviewProcessingService.exe.config nie zawiera jeszcze bindingRedirect, nie musisz go dodawać.

  • Znajdź następujące sekcje w obu plikach:

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="2.0.0.0-2.16.0.0" newVersion="2.16.0.0" />
    </dependentAssembly>
    <dependentAssembly>
        <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="2.0.0.0-2.16.0.0" newVersion="2.16.0.0" />
    </dependentAssembly>
    
  • Zmień następujący wiersz z:

    <bindingRedirect oldVersion="2.0.0.0-2.16.0.0" newVersion="2.16.0.0" />
    Do:
    <bindingRedirect oldVersion="2.0.0.0- **2.22.0.0**" newVersion="**2.22.0.0**" />

  • Zapisz plik i uruchom ponownie program Visual Studio.