しばらくの間、web.config ファイルのこのセクションに気付きました。現在、正確な目的が何であるかを推論しようとしています。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
したがって、最初のエントリは次のように言っているようです。
System.Web.Helpers は、公開キー トークンが の依存アセンブリの名前です
31bf3856ad364e35
。バージョン 1.0.0.0 から 2.0.0.0 をバージョン 2.0.0.0 にリダイレクトします。
私の最善の推測では、ASP.NET ランタイムのコンテキストで実行され、指定された名前のアセンブリに依存し、指定された範囲内のバージョンもあるコードは、指定されたバージョンでコンパイルされたかのように実行されることを意味します。指定された公開鍵。
これは、クラス ライブラリに依存する Web プロジェクトがあり、そのクラス ライブラリに bindingRedirect を持つ古いバージョンのアセンブリへの参照がある場合、新しいバージョンに対してコンパイルされたかのようにコードが実行されるということですか?