Microsoft Dynamics 365 でソリューションをインポートするときに、入力文字列が正しい形式のエラーになりませんでした

この記事では、Microsoft Dynamics 365でソリューションをインポートしようとしたときに発生する可能性がある正しい形式で入力文字列が正しくなかったエラーの解決策について説明します。

適用対象:Microsoft Dynamics 365
元の KB 番号: 4464324

現象

Microsoft Dynamics 365 でソリューションをインポートしようとすると、ソリューションのインポートが失敗し、次のメッセージが表示されます。

ソリューションのインポート: [ソリューション名] が失敗しました

含まれているグリッドで詳細を表示し、[ログ ファイルのダウンロード] を選択すると、次のような詳細が表示されます。

カスタム (プラグイン) アセンブリを処理するときに、アプリケーションによってスローされた正しい形式の入力文字列ができませんでした。
0x80048033入力文字列の形式が正しくありません。

次のエラーの詳細も含まれています。

Microsoft.Crm.Tools.ImportExportPublish.ImportSolutionException: プラグイン アセンブリのインポート: FAILURE。 エラー: プラグイン: <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 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 エンティティ, ExecutionContext context, Boolean verifyAction)
at Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal'1.Update(IBusinessEntity エンティティ, ExecutionContext context)
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.ImportAndUpdateProgresss(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)

原因

このエラーは、プラグイン アセンブリが 4.6.1 や 4.6.2 などの新しいバージョンの.NET Frameworkを使用している場合に発生する可能性があります。 現在、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 に変更します。