Laufzeitumgebung schon bei allen da?

Hallo zusammen,

ich spiele mit dem Gedanken, C# zu lernen, frage mich aber, ob der User meines C#-Programms wie bei Java auch vorher erst irgendwo eine Laufzeitumgebung herunterladen und installieren muss, bevor er das Programm zum Laufen bringen kann. Oder habe ich es richtig verstanden, dass die nötige Laufzeitumgebung bereits in Windows XP etc. eingebaut ist, so dass ich dem Nutzer einfach nur die als Common-Language-Klasse kompilierte Datei zu geben brauche?

Viele Grüße,

Mohamed.

Auch hallo.

Das Vorhandensein eines .NET Framework erkennt man z.B. an der Datei ‚csc.exe‘ (oder Systemsteuerung - Software - '.NET Framework ').
Bei Windows 2003 ist dieses FW standardmässig schon dabei.
Zum Weitergeben müsste die erstellte .exe Datei reichen (auf dem Testrechner hier konnte man eine solche von einem anderen Ordner aus ausführen :smile: )

HTH
mfg M.L.

Version beachten
Hallo,

.NET gibt es mittlerweile in 3 Versionen 1.0 (2002), 1.1 (2003) und 2.0 (2005). Wobei von Version 1.1 auf Version 2.0 sogenannte Breaking Changes stattgefunden haben. Die unterschiedlichen Versionen können jedoch parallel installiert werden (side-by-side)

.NET 1.1 Stand Alone Anwendung
Computer mit .NET 1.1 -> lädt mit .NET 1.1
Computer mit .NET 2.0 -> lädt mit .NET 2.0
Computer mit .NET 1.1 und .NET 2.0 -> lädt mit .NET 1.1

.NET 2.0 Stand Alone Anwendung
Computer mit .NET 1.1 -> läuft nicht
Computer mit .NET 2.0 -> lädt mit .NET 2.0
Computer mit .NET 1.1 und .NET 2.0 -> lädt mit .NET 2.0

Eine .NET 1.1 Anwendung, die jedoch bei der Ausführung unter 2.0 eine Funktion o.ä. aufruft, die einem dieser „Breaking Changes“ unterlegen ist, wird einen Laufzeitfehler verursachen.

Je nach Zielbetriebssystem und Update-Disziplin des Anwenders kann 1.1 oder 2.0 installiert sein (ev. auch noch 1.0). Auf der sicheren Seite bist du, wenn du ein Setup erstellst und in dieses die notwendigen Runtime-Files des .NET Frameworks inkludierst.

Wenn du jedoch Add-Ins, z. B. für Office, schreibst, ist zu beachten, dass ein Parallelbetrieb von 1.1/2.0 Add-Ins nicht möglich ist:

1.1 Add-In:
Computer mit .NET 1.1 -> lädt mit .NET 1.1
Computer mit .NET 2.0 -> lädt mit .NET 2.0
Computer mit .NET 1.1 und .NET 2.0 -> lädt mit .NET 2.0 (Host, i. e. Office, kann aber konfiguriert werden entweder immer 1.1 oder immer 2.0 zu verwenden), Parallelbetrieb von 1.1 und 2.0 Add-Ins ist nicht möglich!

.NET 2.0 Add-In
Computer mit .NET 1.1 -> läuft nicht
Computer mit .NET 2.0 -> lädt mit .NET 2.0
Computer mit .NET 1.1 und .NET 2.0 -> lädt mit .NET 2.0

Achja, und mit Windows Vista kommt Version 3.0. Die hat aber dieselbe Laufzeitumgebung wie 2.0 plus die Erweiterungen bezügl. Grafik und Oberfläche die Vista bietet.

Infos:

http://msdn.microsoft.com/library/default.asp?url=/l…

Grüße
Morrighan

Finger weg von C# ?
Hallo Markus,

also bei mir (WinXP) finde ich weder ‚csc.exe‘ noch irgendetwas Vielversprechendes in der Systemsteuerung. Riecht für mich wie Java, das man jahrelang lernt und hinterher kaum jemandem ohne Weiteres auf dessen PC zeigen kann, was man so programmiert hat. Vielleicht sollte ich dann doch lieber C++ lernen?

Viele Grüße,

Mohamed.

Hi!

Ob jetzt C# oder C++ ist diesbezüglich eigentlich fast egal - auch ein C++ Programm braucht seine Runtime-DLLs, sonst läuft gar nix.

Bei XP SP2 war übrigens .NET 1.1 mit dabei, wenn mich nicht alles täuscht; ab WinServer2003 definitiv.
Da mittlerweile sogar schon manche Grafikkartenhersteller bei ihren Konfigurationsprogrammen .NET mitinstallieren, ist das Besorgen und Installieren der .NET Runtime IMO nicht mehr wirklich ein Problem.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ob jetzt C# oder C++ ist diesbezüglich eigentlich fast egal -
auch ein C++ Programm braucht seine Runtime-DLLs, sonst läuft
gar nix.

Hallo Martin,

wie groß sind denn die? Kann man die nicht einfach beilegen und beim Installieren des Programms an die richtige Stelle legen? Wenn es weniger als 1 MB sind, warum nicht? Bei Java jedenfalls ist es so, dass für wenige Zeilen Programmtext der User 16 MB oder so von der JVM herunterladen muss. Bei Programmen auf CD ist das ja kein Problem, aber wenn man ein Mini-Programm zum Download anbieten möchte, ist das nicht so toll. Und .NET 1.1 hat ja auch 23 MB Umfang…

Viele Grüße,

Mohamed.