La cadena de entrada no tenía un error de formato correcto al importar una solución en Microsoft Dynamics 365

En este artículo se proporciona una resolución de que la cadena de entrada de error no estaba en un formato correcto que se puede producir al intentar importar una solución en Microsoft Dynamics 365.

Se aplica a: Microsoft Dynamics 365
Número de KB original: 4464324

Síntomas

Al intentar importar una solución en Microsoft Dynamics 365, se produce un error en la importación de la solución con el siguiente mensaje:

Error en la importación de la solución: [nombre de la solución]

Si ve los detalles de la cuadrícula que se incluye y selecciona Descargar archivo de registro, verá detalles como los siguientes:

La cadena de entrada no estaba en un formato correcto que la aplicación produjo al procesar un ensamblado personalizado (complemento).
0x80048033 cadena de entrada no estaba en un formato correcto".

También se incluyen los siguientes detalles de error:

Microsoft.Crm.Tools.ImportExportPublish.ImportSolutionException: Importación de ensamblados de complemento: FAILURE. Error: Plugin: <ASSEMBLY NAME>, Version=0.0.0.0, Culture=neutral, PublicKeyToken=[token] produjo una excepción. --->
System.FormatException: la cadena de entrada no estaba en un formato correcto.
at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
at System.String.Format(IFormatProvider provider, String format, Object[] args)
at Microsoft.Crm.ObjectModel.TargetFrameworkVersionValidator.ValidateInternal()
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.ValidateAssemblyMetadata(ExecutionContext context, IBusinessEntity pluginAssembly, CrmPluginAssemblyMetadata assemblyMetadata)
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.VerifyRegistrationAbility(IBusinessEntity pluginAssembly, Boolean createCall, ExecutionContext context)
at Microsoft.Crm.ObjectModel.SdkEntityServiceBase.UpdateInternal(IBusinessEntity entity, ExecutionContext context, Boolean verifyAction)
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.Update(IBusinessEntity entity, ExecutionContext context)
at Microsoft.Crm.Tools.ImportExportPublish.ImportPluginAssemblyHandler.ImportItem()
--- final del seguimiento de la pila de excepciones interna ---
at Microsoft.Crm.Tools.ImportExportPublish.ImportPluginAssemblyHandler.ImportItem()
at Microsoft.Crm.Tools.ImportExportPublish.ImportHandler.Import()
at Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.ImportAndUpdateProgress(ImportHandler ih)
at Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.ProcessNonMetadataHandlers(String[] ImportEntities, ImportHandler& ihForCurrentPath, CounterList listCounters)
at Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.RunImport(String[] ImportEntities)
at Microsoft.Crm.Tools.ImportExportPublish.ImportXml.RunImport(String[] ImportEntities)
at Microsoft.Crm.Tools.ImportExportPublish.ImportXml.RunImport()
at Microsoft.Crm.Tools.ImportExportPublish.ImportXml.RunImport(Boolean withSolutionManifest)
at Microsoft.Crm.WebServices.ImportXmlService.ImportSolutionSkipCapable(Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Byte[] customizationFile, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies, Boolean holdingSolution, ExecutionContext context)

Causa

Este error puede producirse si el ensamblado del complemento usa una versión posterior de .NET Framework, como 4.6.1 y 4.6.2. Actualmente, Microsoft Dynamics 365 (en línea) solo admite ensamblados del SDK de .NET basados en .NET Framework 4.5.2.

Solución

El ensamblado afectado debe compilarse con .NET Framework 4.5.2:

  1. Abra Visual Studio.
  2. Haga clic con el botón derecho en el proyecto que contiene el ensamblado afectado y seleccione Propiedades.
  3. Cambie la plataforma de destino a .NET Framework 4.5.2.