Avatar billede jehav Nybegynder
03. november 2005 - 11:53 Der er 8 kommentarer

exe-fil uafhængig af .NET Framework?

Jeg sidder med et problem!

Jeg udvikler C# i Visual Studio .NET 2003. Problemet opstår når jeg compiler min kode og prøver at køre exe-filen på en computer uden .NET Frameworket installeret. Så får jeg fejlmeddelsen:

Set Registry Key HKLM\software\microsoft\.net framework\installroot to point

På Microsofts hjemmeside anbefaler de (ikke overraskende!) at jeg installerer .NET Frameworket på computeren.

Mit spørgsmål lyder:

Er der en måde at få kompileret sin kode sådan at den er uafhængigt af om .NET Frameworket er installeret eller ej? Eller kan man slet ikke udvikle i Visual Studio uden at alle andre skal have .NET Frameworket installeret for at køre ens programmer?
Avatar billede misbruger Nybegynder
03. november 2005 - 12:04 #1
.Net skal altid være installeres.

Jeg vil anbefale at du laver et installation projekt i din Visual Studio, hvori du embedder .Net frameworket, således at når brugeren vil installere dit program, bliver der undersøgt om frameworket ligger der, eller bliver det installeret.
Avatar billede schwarz84 Nybegynder
03. november 2005 - 12:05 #2
I visual studio kompilerer du koden til en type maskin-kode som .NET's virtual machine forstår, ikke til gammeldags maskinekode. Derfor kræves det at .NET er installeret for at køre programmet, og det er der ikke nogen vej uden om.
Dog er det ikke noget urimeligt krav at kræve at folk har .NET installeret på deres computer. Så vidt jeg ved følger det med Windows i dag og de fleste andre har jo nok fået det gennem Windows Update.
Avatar billede misbruger Nybegynder
03. november 2005 - 12:06 #3
Bemærk dog at din installations fil vil vokse med ca. 23,1 MB (størrelsen på frameworket)

I .Net har du et helt base class liberary, hvordan skullene computer uden det liberary kunne kører dit program, når det ikke findes
Du kan jo heller ikke kører et program i java uden at jave en java runtime installeret.
Avatar billede misbruger Nybegynder
03. november 2005 - 12:09 #4
Endvidere består frameworket af runtime compileren, som netop compilere din compileret kode til "maskine kode".

Således har de opnået at alle .Net sprog bliver compileret til et fælles sprog (f.eks. din .exe fil), som af frameworket bliver compileret til maskinekode ved kørsel.

Ganske smart
Avatar billede jehav Nybegynder
03. november 2005 - 12:18 #5
Jeg ved udemærket hvordan Visual Studio kompiler til MSIL osv... Mit spørgsmål går ikke på om hvordan der kompileres eller hvorvidt det er rimeligt at man forlanger at .NET frameworket er installeret.

Er der en måde hvorpå man kan få kompilet sin kode til "gammeldags" maskinkode som kan læses uafhængigt af .NET frameworket?
Avatar billede ladyhawke Novice
03. november 2005 - 12:25 #6
læs misbruger's 2. kommentar igen... Frameworket er som navnet antyder et framework/samling af værktøjer og klasser og den eneste/nemmeste måde at sikre dig at dine programmer kan køre på andres maskiner er at medtage frameworket i dit program...
Avatar billede schwarz84 Nybegynder
03. november 2005 - 12:37 #7
jehav: De ting vi har skrevet, forklarer jo netop hvorfor dette ikke sådan lader sig gøre.
Avatar billede spif2001 Nybegynder
03. november 2005 - 15:26 #8
Så svaret er nej.  :)
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