Avatar billede kamak Praktikant
18. december 2008 - 13:50 Der er 4 kommentarer og
1 løsning

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?
Avatar billede aaberg Nybegynder
18. december 2008 - 13:55 #1
v3 og v3.5 er overbygninger på v2. De bruger machine.Config fra Framework\v.2.0.50727\CONFIG mappen.
Avatar billede kamak Praktikant
18. december 2008 - 14:23 #2
ok, så det er altså ikke muligt at angive at alle v2.0 apps skal bruge version 6.0.0.0 af en assembly og alle .net v3.5 apps skal bruge version 7.0.0.0 da der ikke er en machine.config i v3.5 mappen.
Avatar billede aaberg Nybegynder
18. december 2008 - 14:57 #3
Du kan specificere det for hver applikation, ved at lave en config fil for applikationen. Hvis din exe f.eks. hedder myApp.exe, kan du lave en myApp.exe.config. Jeg tror ikke du kan specificere det globalt i machine.config.
Avatar billede kamak Praktikant
19. december 2008 - 16:56 #4
ok - tak for svaret.
Smid et svar, så lukker vi lige spørgsmålet
Avatar billede aaberg Nybegynder
03. januar 2009 - 20:01 #5
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester