Vra

Dit behoort goed te wees aangesien die CLR nie eintlik verander het nie?

Die bokse wat die C# 2.0-kode uitvoer het het .NET 3.5 ontplooi.

Die agtergrond is dat ons 'n Windows-diens (.NET 2.0 exe ​​gebou met VS2005, ontplooi na ~150 bedieners) het wat samestellings dinamies laai (amper soos inproppe) om verskeie werkitems wat daarvan gevra word, te voltooi.Wanneer ons 'n nuwe weergawe van die buslogika uitrol, laat ons net die samestellings op 'n FTP-bediener los en die Windows-diens weet hoe om na die nuutste weergawes te kyk, te gryp en te stoor.Nuwe samestellings word nou gebou met VS2008 en gerig op .NET 2.0, ons weet dit werk goed.Ons wil egter graag gebruik maak van C# 3.0-taalkenmerke soos LINQ en die samestellings teen .NET 3.5 teiken sonder om 'n nuwe weergawe van die Windows-diens te bou en te ontplooi.

Was dit nuttig?

Oplossing

C#3 en .Net 3.5 voeg nuwe samestellings by, maar die IL is onveranderd.

Dit beteken dat jy met .Net 2-samestellings C#3 kan saamstel en gebruik, solank jy nie Linq of enigiets anders gebruik wat na System.Linq of System.Core verwys nie

yield, var, lambda-sintaksis, anon-tipes en initialiseerders is almal samesteller-slimheid.Die IL wat hulle produseer, is kruisversoenbaar.

As jy die nuwe samestellings vir 3.5 kan verwys, behoort dit alles net te werk.

Daar is geen nuwe weergawe van ASP.Net nie - dit moet steeds 2.0.50727 wees - maar jy moet steeds vir 3.5 saamstel

Ander wenke

Opbrengste, var, lambda -sintaksis, anontipes en initialises is almal die slimheid van die samesteller.Die IL wat hulle produseer, is kruisversoenbaar.

Geringe nit-plukpunt, maar opbrengs was in elk geval 'n 2.0-kenmerk.

Dit is interessante goed.Ek het gekyk na LinqBridge gister nadat iemand op hierdie forum dit vir my voorgestel het en hulle doen 'n soortgelyke ding.

Ek vind dit vreemd dat Microsoft die raamwerke 2.0, 3.0 en 3.5 genoem het wanneer hulle almal saamstel om dieselfde IL te produseer wat deur die 2.0 CLR vereis word.Ek sou gedink het om weergawes by 2.0 by te voeg, sou meer sin maak, alhoewel ek dink dit is ook moeilik om mense te kry om hul kop te kry oor die feit dat daar verskillende weergawes van looptye, samestellers en tale is.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top