「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †
問題の内容 †以下のようなエラーが出た場合の対処。
問題の対策 †ビルド出力ログを確認して、バインディング リダイレクトを、設定する。 詳細 †バインディング リダイレクトが設定されていない場合、
調査方法 †ビルド出力の詳細化 †
yyyy/MM/dd HH:mm:ss にビルドを開始しました。 ノード 1 上のプロジェクト "XXXX.sln" (既定のターゲット)。 ValidateSolutionConfiguration: ソリューション構成 "Debug|Any CPU" をビルドしています。 プロジェクト "XXXX.sln" (1) は、ノード 1 上に "XXXX.csproj" (2) をビルドしています (既定のターゲット)。 ResolveAssemblyReferences: 競合を解決して警告を消去するために、app.config でアセンブリ "YYYY, Culture=neutral, PublicKeyToken=YYYY" をバージョン "6.9.9.0" [] からバージョン "6.9.11.0" [YYYY.dll] にマップし直してください。 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3247: 同じ依存アセンブリの異なるバージョン間での競合が見つかりました。 [XXXX.csproj] GenerateTargetFrameworkMonikerAttribute: すべての出力ファイルが入力ファイルに対して最新なので、ターゲット "GenerateTargetFrameworkMonikerAttribute" を省略します。 CoreCompile: すべての出力ファイルが入力ファイルに対して最新なので、ターゲット "CoreCompile" を省略します。 _CopyAppConfigFile: すべての出力ファイルが入力ファイルに対して最新なので、ターゲット "_CopyAppConfigFile" を省略します。 CopyFilesToOutputDirectory: XXXX -> XXXX.dll プロジェクト "XXXX.csproj" (既定のターゲット) のビルドが完了しました。 プロジェクト "XXXX.sln" (既定のターゲット) のビルドが完了しました。 ビルドに成功しました。 "XXXX.sln" (既定のターゲット) (1) -> "XXXX.csproj" (既定のターゲット) (2) -> (ResolveAssemblyReferences ターゲット) -> C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3247: 同じ依存アセンブリの異なるバージョン間での競合が見つかりました。 [XXXX.csproj] 1 個の警告 0 エラー 経過時間 00:00:00.nn ※ 伏せているけど、上記は、バージョン番号からしてMySQL。 ツール(AsmSpy?)を使用 †
対策方法 †依存アセンブリのバージョンを一致させる †
configファイルにバインディング リダイレクト セクションを追加する。 †以下のように、*.configファイルの、 <dependentAssembly> <assemblyIdentity name="YYYY" publicKeyToken="YYYY" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.9.11.0" newVersion="6.9.11.0" /> </dependentAssembly> ※ 上記の「マップし直してください。」のバージョンを設定する。 Projectファイルに自動バインディング リダイレクトを設定する。 †
.NET Coreの場合 †
参考 †
|