9

Visual Studio を使用して asp コア プロジェクトを公開する.configと、実行可能ファイルと共にファイルが作成されます。

には、次のようなもの.configがいくつか含まれています。bindingRedirect

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0" newVersion="8.0.0.0" />
        <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" />
        <bindingRedirect oldVersion="6.0.0.0" newVersion="9.0.0.0" />
        <bindingRedirect oldVersion="8.0.0.0" newVersion="9.0.0.0" />
        <bindingRedirect oldVersion="7.0.0.0" newVersion="9.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Serilog" publicKeyToken="24c2f752a8e58a10" culture="neutral" />
        <bindingRedirect oldVersion="1.5.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="1.1.37.0" newVersion="1.2.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="1.2.0.0" newVersion="1.3.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

ここで、bindingRedirectforNewtonsoft.Jsonを次のように変更します。

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>

このブログ投稿によると: http://blog.rytmis.net/2016/03/29/asp-net-core-and-assembly-binding-redirects/App.configを作成し、そこでバインディングを指定できるはずです。しかし、私はそれを機能させることができません。1 つ追加しても、同じ.config.

何か案は?

.configプロジェクト内に、実行可能ファイルと同じ名前で正しいファイルを作成してから、ファイル内bindingRedirectの を編集して含めることができます。次に、他のすべての future を手動で追加する必要があります。publishOptionsproject.jsonbindingredirect

4

1 に答える 1