Поддерживается ли <bindingRedirect /> в Silverlight, Windows Phone и Metro?
Является <bindingRedirect />
поддерживается за пределами полной.NET Framework? Например, следующее поддерживается обычным приложением.NET (в app.config
или же web.config
):
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="PostSharp" publicKeyToken="b13fd38b8f9c99d7" culture="neutral" />
<bindingRedirect oldVersion="3.0.0.0-3.1.1.1" newVersion="3.1.1.1"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Если это не поддерживается, как решается проблема косвенных ссылок на сборки? То есть, если компонент A ссылается на компоненты B и C, а B ссылается на D v1.0, C на D v1.1, как мы можем гарантировать, что B найдет свою зависимость, если мы отправим только D v1.1?
1 ответ
Никакие перенаправления привязки не поддерживаются в приложениях Silverlight, Windows Phone или Windows Store. Однако это потому, что они не нужны.
Предполагая, что мы говорим здесь только о неплатформенных сборках, в основном все три из этих платформ имеют схожие политики связывания в том смысле, что они позволят более поздней версии сборки соответствовать более ранней версии с тем же именем.
В вашем конкретном примере это будет означать, что компонент B автоматически получит версию D v1.1.