Delen via


Visual Studio 2015 werkt niet meer na de installatie van de Microsoft Dynamics 365 Report Authoring Extension

Dit artikel biedt een oplossing voor een fout die optreedt wanneer u SQL Server Data Tools voor Visual Studio start.

Van toepassing op: Microsoft Dynamics CRM
Origineel KB-nummer: 4032777

Symptomen

Opmerking

Het probleem dat hier wordt beschreven, is opgelost met versie 8.2.2.248 van de Microsoft Dynamics 365 Report Authoring Extension.

In het volgende scenario:

  • U hebt Visual Studio 2015 met SQL Server Data Tools geïnstalleerd.
  • U installeert de Microsoft Dynamics 365 Report Authoring Extension (versie 8.2.2.0171)

Wanneer u SQL Server Data Tools voor Visual Studio start, wordt Visual Studio gesloten met het volgende bericht:

'Microsoft Visual Studio 2015 werkt niet meer.'

De fout in de Windows-Logboeken kan er als volgt uitzien:

Toepassing: devenv.exe
Beschrijving: het proces is beëindigd vanwege een niet-verwerkte uitzondering.
Uitzonderingsinformatie: System.IO.FileNotFoundException
op Microsoft.VisualStudio.Services.Client.AccountManagement.AccountManager.GetAccountProviderCore(System.Guid)
op 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()
bij System.Threading.Tasks.Task.Execute()
bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)

Het verwijderen van de extensie voor het ontwerpen van rapporten lost het probleem niet op.

Oorzaak

Dit probleem treedt op vanwege een probleem in het installatieproces van de rapportcreatie-extensie. Wanneer de extensie voor het ontwerpen van rapporten is geïnstalleerd met behulp van het standaardinstallatiepad, worden de volgende assembly's in C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDEgeplaatst , waarbij eventuele oudere versies van de bestanden die zich al op die locatie bevinden, worden vervangen.

  • Microsoft.IdentityModel.Clients.ActiveDirectory.dll - Bestandsversie: 2.22.x.x
  • Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll - Bestandsversie: 2.22.x.x

Visual Studio probeert oudere versies te laden van de bestanden die niet bestaan, omdat het devenv.exe.config-bestand een bindende omleidingsvermelding bevat die nog steeds verwijst naar versie 2.16.0.0. Tijdens het installatieproces van de rapportcreatie-extensie is de bindingsomleiding niet bijgewerkt zodat deze verwijst naar versie 2.22.0.0 toen de bestanden werden vervangen.

Oplossing

U kunt dit probleem oplossen door deze stappen uit te voeren om de bindingsomleidingen in het devenv.exe.config-bestand te wijzigen zodat deze verwijzen naar versie 2.22.0.0:

  • Bewerk deze twee bestanden om de waarde van de versies voor de vermelding bindingRedirect te wijzigen in de juiste versie, 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

    Opmerking

    Als u een andere installatielocatie hebt gebruikt dan de standaardlocatie, moet u het pad naar deze bestanden wijzigen naar de locatie waar u Visual Studio hebt geïnstalleerd.
    Als het PreviewProcessingService.exe.config-bestand de bindingRedirect nog niet bevat, hoeft u het niet toe te voegen.

  • Zoek de volgende secties in beide bestanden:

    <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>
    
  • Wijzig de volgende regel van:

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

  • Sla het bestand op en start Visual Studio opnieuw.