Avatar billede Droa Seniormester
12. juni 2015 - 17:04 Der er 7 kommentarer og
1 løsning

kan man lave en form for proxy mellem biblioteks versioner

Hej Eksperter.

Jeg sidder i denne situation at jeg har en kunde der gerne vil have et framework der virker med både .Net 2.0 og .Net 4.0 support.
Desværre kom han først med dette krav et godt stykke tid inde i produktionen, som betyder jeg er nød til og ændre de dele jeg bruger Task og Linq i.

Der er selvfølgelig den måde jeg simpelthen kopier projektet og laver 2 Framework biblioteker, til hver version.

Men jeg tænkte om der var en måde og måske kunne lave en Proxy, der vil loade de dele der er undersøttet af det framework den har til rådighed?

Mange tak
Avatar billede arne_v Ekspert
12. juni 2015 - 17:23 #1
Jeg ser to mulige problemstillinger med to forskellige loesninger:

A) de skal have samme funktionalitet med 2.0 og 4.0

Loesning:
* skriv koden om saa den er 2.0 kompatibel (gem evt. 4.0 specifik kode med henblok paa den sag ravet om 2.0 support bortfalder)
* build samme kode paa 2.0 og 4.0 (eller byg kun paa 2.0 og have en app config som faar det til at virke med 2.0 build paa 4.0)

B) de kan leve med basis funktionalitet i baade 2.0 og 4.0 men nogle features som kun er tilgaengelig i 4.0

Loesning:
* split source code saa det 4.0 specifikke er i separat namespace
* byg basis DLL i 2.0
* byg basis DLL og extended DLL i 4.0
Avatar billede Droa Seniormester
12. juni 2015 - 17:45 #2
mange tak for det hurtige svar. så det drejer sig bare om at mine interfaces er solide nok til at kunne nedgraderes uden det kan mærkes?
Jeg har påbegyndt en fork af min 4.0 repo til omskrivning til 2.0. er det en god ide, eller kan jeg møde problemer ved at gå sådan ind i en nedgradering?
Avatar billede arne_v Ekspert
13. juni 2015 - 02:28 #3
Hvor stor en del af koden er 4.0 specifik?
Avatar billede Droa Seniormester
13. juni 2015 - 03:05 #4
det drejer sig om ca 5% af koden, ud over 100 klasser, jeg vil gætte på 500-550 linier kode.
Avatar billede arne_v Ekspert
13. juni 2015 - 04:51 #5
i.s.f. en fork kunne du saa ikke bare bruge #if ?
Avatar billede Droa Seniormester
05. august 2015 - 18:54 #6
jeg fik det til og virke med lidt hjælp fra Preprocessor Directives som du snakkede om, jeg tror det hele virker nu.

den bygger begge mine versioner, og udelukker den kode der skal udelukkes, meget smart.
Avatar billede Droa Seniormester
12. september 2015 - 19:53 #7
ligger du et svar?
Avatar billede arne_v Ekspert
12. september 2015 - 23:52 #8
svar
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

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