Compartir a través de


Visual Studio 2015 deja de funcionar después de instalar la extensión de creación de informes de Microsoft Dynamics 365

En este artículo se proporciona una solución a un error que se produce al iniciar SQL Server Data Tools para Visual Studio.

Se aplica a: Microsoft Dynamics CRM
Número de KB original: 4032777

Síntomas

Nota:

El problema descrito aquí se ha resuelto con la versión 8.2.2.248 de la extensión de creación de informes de Microsoft Dynamics 365.

En el escenario siguiente:

  • Ha instalado Visual Studio 2015 con SQL Server Data Tools.
  • Instale la extensión de creación de informes de Microsoft Dynamics 365 (versión 8.2.2.0171)

Al iniciar SQL Server Data Tools para Visual Studio, Visual Studio se cierra con el mensaje:

"Microsoft Visual Studio 2015 ha dejado de funcionar".

El error en el Visor de eventos de Windows puede tener este aspecto:

Aplicación: devenv.exe
Descripción: el proceso se finalizó debido a una excepción no controlada.
Información de excepción: System.IO.FileNotFoundException
en Microsoft.VisualStudio.Services.Client.AccountManagement.AccountManager.GetAccountProviderCore(System.Guid)
en 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()
en System.Threading.Tasks.Task.Execute()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)

La desinstalación de la extensión de creación de informes no resuelve el problema.

Causa

Este problema se produce debido a un problema en el proceso de configuración de la extensión de creación de informes. Cuando se instala la extensión de creación de informes mediante la ruta de instalación predeterminada, los ensamblados siguientes se colocan en C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE, reemplazando las versiones anteriores de los archivos que ya están en esa ubicación.

  • Microsoft.IdentityModel.Clients.ActiveDirectory.dll: versión del archivo: 2.22.x.x
  • Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll: versión del archivo: 2.22.x.x

Visual Studio intenta cargar versiones anteriores de los archivos que no existen, ya que el archivo devenv.exe.config contiene una entrada de redirección de enlace que sigue apuntando a la versión 2.16.0.0. El proceso de configuración de la extensión de creación de informes no actualizó el redireccionamiento de enlace para que apunte a la versión 2.22.0.0 cuando se reemplazaron los archivos.

Solución

Para resolver este problema, siga estos pasos para cambiar las redirecciones de enlace en el archivo devenv.exe.config para que apunte a la versión 2.22.0.0:

  • Edite estos dos archivos para cambiar el valor de las versiones de la entrada bindingRedirect a la versión correcta, 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

    Nota:

    Si usó una ubicación de instalación diferente a la predeterminada, deberá modificar la ruta de acceso a estos archivos a la ubicación donde instaló Visual Studio.
    Si el archivo PreviewProcessingService.exe.config aún no contiene bindingRedirect, no es necesario agregarlo.

  • Busque las secciones siguientes en ambos archivos:

    <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>
    
  • Cambie la siguiente línea de:

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

  • Guarde el archivo y reinicie Visual Studio.