machine assembly configuration
Mit spørgsmål drejer sig om assembly konfigurering i .Net som nok kræver lidt forklaring:Hvis man f.eks. har .Net v2.0.50727 installeret er der en såkaldt Machine Configuration File der hedder machine.config og som ligger i mappen ...\Microsoft.NET\Framework\v2.0.50727\CONFIG\. I denne xml-fil kan man lave forskellige settings vedrørende assembly binding på den pågældende maskine.
for eksempel kan man runtime binde en dll:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EksempelDLL" publicKeyToken="sdfgjyu567urdrgu765" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-10.0.0.0" newVersion="7.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
I dette eksempel vil .Net programmer så bruge version 7.0.0.0 af "EksempelDLL" i assembly global cache (hvis man har flere versioner).
Hvis man installere .Net v3.5 (eller v3.0) er der ingen Config mappe eller nogen machine.config. Men har man både .Net v2.0.50727 og v3.5 vil de .Net v3.5 applikationer man har, som bruger f.eks. "EksempelDLL" stadig bruge den version man angiver i machine.config i .net v2.0.50727 mappen. Er der en anden måde man kan gøre det på i v3.5?
Hvad gør man hvis man kun har .Net v3.5 men stadig gerne vil lave multiple runtime binding af assemblies?