5

Czy <bindingRedirect /> jest obsługiwany poza pełnym .NET Framework? Na przykład poniższe nie jest obsługiwany z normalnym aplikacji .NET (w app.config lub web.config):Czy <bindingRedirect /> jest obsługiwany w Silverlight, Windows Phone i Metro?

<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> 

Jeśli nie jest obsługiwany, jaki jest problem z odniesieniami montażowych pośrednie skierowane? Oznacza to, że jeśli komponent A odnosi się do komponentów B i C, a B odnosi się do D v1.0, C do D v1.1, w jaki sposób zapewniamy, że B znajdzie swoją zależność, jeśli wysyłamy tylko D v1.1?

Odpowiedz

5

Brak przekierowań wiążących nie są obsługiwane w aplikacjach Silverlight, Windows Phone lub Windows Store. Jest tak, ponieważ nie są one potrzebne.

Zakładając, że mówimy tutaj tylko o zespołach pozasportowych, zasadniczo wszystkie trzy z tych platform mają podobne zasady wiążące, ponieważ umożliwiają one nowszej wersji zestawu do spełnienia wcześniejszej wersji o tej samej nazwie.

W twoim konkretnym przypadku oznaczałoby to, że komponent B automatycznie otrzyma wersję D v1.1.

+0

Dziękuję, David! –

+0

A co ze złożeniami platform? Jak mogę przekierować FSharp.Core 4.3.0.0 do FSharp.Core 4.3.1.0 w aplikacji WinStore lub WinPhone? –

+0

To samo pytanie o FSharp.Core. Pakiet Nuget zbudowany w F # wymaga odwołania do FSharp.Core 4.3.1.0, jednak największa, którą możesz zainstalować w aplikacji WP81 to 3.259.4.0, a co za tym idzie AssemblyLoadException –