--- lang: ja-jp breaks: true --- # .NET Core SDKスタイルのプロジェクトで `net48` の WinForms を実行すると、「`System.IO.FileLoadException: 'ファイルまたはアセンブリ 'System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)'`」とエラーになる 2022-07-04 色々試したが、以下の設定を行うしか方法がなさそう。 :::info > https://docs.microsoft.com/ja-jp/ef/core/miscellaneous/platforms#net-framework > .NET Framework > .NET Framework をターゲットとするアプリケーションを .NET Standard のライブラリと連携させるには、次のような変更が必要になる可能性があります。 ::: ```xml= <PropertyGroup> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> </PropertyGroup> ``` テストプロジェクトの場合は、以下も必要 ```xml= <PropertyGroup> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> </PropertyGroup> ``` 上記で `true` を設定すると、`*.exe.config` に以下のタグが埋め込まれる。 ```xml= <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Resources.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> </assemblyBinding> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" /> </dependentAssembly> </assemblyBinding> ``` ###### tags: `.NET Core` `net48` `WinForm` `System.IO.FileLoadException` `System.Resources.Extensions` `AutoGenerateBindingRedirects` `GenerateBindingRedirectsOutputType`