在 Microsoft Dynamics 365 中导入解决方案时输入字符串的格式不正确错误

本文为尝试在 Microsoft Dynamics 365 中导入解决方案时可能出现的“输入字符串格式不正确”错误提供了解决方法。

适用于:Microsoft Dynamics 365
原始 KB 编号: 4464324

症状

尝试在 Microsoft Dynamics 365 中导入解决方案时,解决方案导入失败,并显示以下消息:

解决方案导入失败:[解决方案名称]

如果在包含的网格中查看详细信息并选择“下载日志文件”,则会看到如下所示的详细信息:

处理自定义 (插件) 程序集时,输入字符串的格式不正确。
0x80048033输入字符串的格式不正确。”

还包括以下错误详细信息:

Microsoft.Crm.Tools.ImportExportPublish.ImportSolutionException:插件程序集导入:失败。 错误:插件: <ASSEMBLY NAME>、Version=0.0.0.0、Culture=neutral、PublicKeyToken=[token] 导致异常。 --->
System.FormatException:输入字符串的格式不正确。
at System.Text.StringBuilder.AppendFormat (IFormatProvider provider, String format, Object[] args)
at System.String.Format (IFormatProvider 提供程序、String format、Object[] args)
at Microsoft.Crm.ObjectModel.TargetFrameworkVersionValidator.ValidateInternal ()
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.ValidateAssemblyMetadata (ExecutionContext 上下文、IBusinessEntity pluginAssembly、CrmPluginAssemblyMetadata assemblyMetadata)
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.VerifyRegistrationAbility (IBusinessEntity pluginAssembly、Boolean createCall、ExecutionContext 上下文)
at Microsoft.Crm.ObjectModel.SdkEntityServiceBase.UpdateInternal (IBusinessEntity 实体、ExecutionContext 上下文、Boolean verifyAction)
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.Update (IBusinessEntity 实体,ExecutionContext 上下文)
at Microsoft.Crm.Tools.ImportExportPublish.ImportPluginAssemblyHandler.ImportItem ()
---内部异常堆栈跟踪---结束
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 上下文)

原因

如果插件程序集使用的是更高版本的 .NET Framework,例如 4.6.1 和 4.6.2,则会发生此错误。 目前,Microsoft Dynamics 365 (联机) 仅支持基于 .NET Framework 4.5.2 构建的 .NET SDK 程序集

解决方案

必须使用 .NET Framework 4.5.2 编译受影响的程序集:

  1. 打开 Visual Studio。
  2. 右键单击包含受影响程序集的项目,然后选择“属性”。
  3. 将目标框架更改为 .NET Framework 4.5.2。