Avatar billede o-zone Nybegynder
07. december 2006 - 12:36 Der er 13 kommentarer og
1 løsning

Hvilken version C# kører min Visual Studio med?

Hej med jer...

Det er muligt at det her er mere et Visual Studio spørgsmål når det kommer til stykket, men der er ingen IDE kategori under Programmer :-(

Jeg er igang med mit første C# projekt i Visual Studio (2005), og jeg har fundet et par API'er på msdn.dk, men er i tvivl om hvilken version C# compiler min Visual Studio bruger.

Jeg har ledt en del både i VS og i Kontrolpanelet, men kan ikke finde nogen steder hvor det bare står helt entydigt.

(Det ser i øvrigt ud til at jeg har (midst) tre versioner af .NET installeret?)

Er der nogen der kan fortælle mig hvordan jeg finder ud af det?
Avatar billede nheilbuth Nybegynder
07. december 2006 - 12:41 #1
VS 2005 = C#(.NET) 2.0

Det med de 3 versioner er meget normalt!
Avatar billede o-zone Nybegynder
07. december 2006 - 13:05 #2
ok ... men er det altid sådan? Jeg mener i f.eks. IDEA kan man selv vælge hvilken af ens installerede jdk'er der skal bruges til det enkelte projekt, så man f.eks. kan kode specifikt mod en ældre jre?

(smid et svar hvis der ikke er uenighed om dit svar!) :-)
Avatar billede o-zone Nybegynder
07. december 2006 - 14:03 #3
Nu har jeg fået verificeret at det er rigtigt med v2.0 :-)
Smider du ikke et svar, så vi kan få lukket den?
Avatar billede md_craig Nybegynder
07. december 2006 - 15:38 #4
Ja det er altid sådan... og desvære kan man sige...

Der er endnu ingen mulighed for at kode op imod en gammel version af frameworket i VS2005, forstået på den måde at det altid vil blive compilet til at kører på runtime v. 2.0...

Dog er det naturligvis muligt at benytte ældre dll'er men man kan ikke compile sine projekter ned til en ældre version af CLR'eren...

Skyldes angiveligvis at .NET er i sig selv en stor del af VS2005, og vs er derfor bundet meget fast sammen med den CLR den kører på selv... (VS2003 -> CLR 1.1, VS2005 -> CLR 2.0)... og deri begrænsningen...

Man kan håbe at MSBuild bliver en del af den næste VS, og så kan vi måske igen vælge target CLR... som man kunne med java... (Hvis man da overhovedet skulle ønske at udvikle til en gammel CLR... o_O )...
Avatar billede segato Nybegynder
07. december 2006 - 15:45 #5
Man kan nu også kode op i mod c# 3.0 fra 2005. Og du kan kalde 1.1 c# dll'er fra 2005. Du kan jo se i din reference liste hvilke versioner af dll'er du kører i mod. Så man kan ikke sige at en given version nødvendigvis hænger sammen med hvilke c# versionre du kører i mod.
Avatar billede nheilbuth Nybegynder
07. december 2006 - 15:45 #6
Ja det er altid sådan!
md_craig er lige kommet med den fulde forklaring.
Avatar billede o-zone Nybegynder
07. december 2006 - 16:41 #7
Tak for de udførlige forklaringer alle tre :-)
Hvis I vil have points også, så sig lige til.
Avatar billede md_craig Nybegynder
07. december 2006 - 18:30 #8
segato >>
""Så man kan ikke sige at en given version nødvendigvis hænger sammen med hvilke c# versionre du kører i mod.""

Det er desvære bare forkert, for VS2005 hænger netop på CRL 2.0 og det kommer man ikke uden om... Selv om du godt kan referere en .NET 1.1 dll i dit projekt, bliver den Exe eller dll du får compilet ikke lige pluselig en .NET 1.1 Assembly...

Du kan med VS2005 ikke compile til andre CLR versioner end 2.0... 3.0 ja... det er mest en 2.0 i Vista klæder... ja der er da nogle nye klasse biblioteker, men som jeg har hørt det er selve CLR'en ikke ændret meget... derfor vil du formentlig også kunne afvikle en .NET 2.0 Assembly på en 3.0 CLR...

Husk på at det vi snakker her er dit Compile resultat...

I Jave kan du i mange IDE'er vælge at nu vil du compile dit projekt til en JVM v. 1.4... og vupti... så kører det... så kan du med det samme lige hoppe end... og ud fra en select bos nu vælge at det skal kører på en JVM 1.5 istedet... og Vums... nu compiler du med den JVM som target...

Dette kan man ikke endnu med .NET... eller... jeg skal ikke kunne sige hvad andre IDE'er kan... men så vend det om... det kan du ikke med Visual Studio... der hænger du på den version som din VS nu lige ligger sig op af...
Avatar billede segato Nybegynder
07. december 2006 - 18:56 #9
Det altså ikke helt sandt. Jeg sidder lige nu og udvikler i 2005, hvor jeg udvikler WCF services som er en del af c# 3.0. man vælger i visual studio om du vil kode 3.0 eller 2.0 fra sin projekt liste.
Avatar billede segato Nybegynder
07. december 2006 - 18:59 #10
Men du har ret i at visual studio helt standard kompilere op i mod 2.0.
Avatar billede md_craig Nybegynder
07. december 2006 - 19:57 #11
Jeg prøver igen... spørgsmålet bygger ikke på hvor vidt du udvikler op imod et 1.1, 2.0 eller 3.0 klasse bibliotet... det er så irellevant som noget kan være...

Det der herimod er interassant er om du compiler til noget der kører på en CLR 1.1, CLR 2.0 eller en CLR 3.0 (Som faktisk så ved jeg er informeret bare er en CLR2.0 mere eller mindre, derfor kan du det du siger...)
Avatar billede segato Nybegynder
07. december 2006 - 20:51 #12
"Developers can continue developing using Visual Studio 2005, and even install special extensions to Visual Studio 2005 that support CLR 3.0. That said, Visual Studio 2007 will include dedicated high-end design tools for .NET 3.0, so it is likely once those are available that developers will adopt the new tools" Som sagt har du ret i standard udgave, men man kan installere de nye tools som gør man selv vælger.
Avatar billede segato Nybegynder
07. december 2006 - 21:04 #13
Men om det er fordi de stort set er ens, ved jeg ikke og dette er grunden til man kan lave dette trick.
Avatar billede md_craig Nybegynder
08. december 2006 - 09:03 #14
Sagen er at man fra CLR v1.1 til CLR v2.0 kom med nogle markante ændringer i selve runtimen... Generics er en af dem...

Her snakker vi ikke udvidelse af .NET Frameworket, men et indgræp i selve CLR'en... men som jeg har forstået overgangen fra CLR v3.0, så er det mere et spørgsmål om at få den til at kører på Vista og 64 bits cpu'er...

Dette er uinterassante ændringer op ad til... og for programmørens synsvinkel så ser CLR'en egentlig ens ud...
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