Canviar les referencies sense tornar a compilar

Les aplicacions amb .Net utilitzen referències que seleccionem amb el Visual Studio 2010 via “Agregar Referencia”. Aquesta referència és estàtica. Compilem i construïm l’aplicació (.exe) utilitzant aquesta referència.

Les referencies son ensamblats i com a tals s’identifiquen per el nom, la cultura i opcionalment per el publickeytoken.

MyLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f5393b7416a1ef9b, processorArchitecture=MSIL

Es pot canviar aquesta referència sense necessitat de recompilar el projecte. Aquest escenari passa quan MyLibrary canvia de versió . Si sabem que el canvi de versió no implica canvis en el codi, podem sense reconstruir l’aplicació demanar al CLR que utilitzi aquest nou ensamblat. La clau està en afegir un fitxer de configuració d’aplicacions: app.config

App.config es un fitxer de configuració que s’acaba convertint amb myApplication.exe.config quan fem el Build del projecte.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 <dependentAssembly>
 <assemblyIdentity name="MyLibrary"
 publicKeyToken="f5393b7416a1ef9b"
 culture="neutral"/>
 <bindingRedirect oldVersion="1.0.0.0"
 newVersion="1.0.0.1"/>

 </dependentAssembly>
 </assemblyBinding>
 </runtime>
</configuration>

Amb aquest exemple demanem al CLR que carregui la versió 1.0.0.1 enlloc de la versió 1.0.0.0 que és la utilitzada en el moment de la compilació.

Advertisements

Un pensament sobre “Canviar les referencies sense tornar a compilar

  1. Retroenllaç: Cómo mostrar un ensamblado en el cuadro de diálogo “Agregar referencia” | My freelancer life

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s