Entwickler-Ecke

Sonstiges (.NET) - Braucht eine C#-Anwendung .NET?


Jakob Schöttl - Do 23.08.07 15:12
Titel: Braucht eine C#-Anwendung .NET?
Hallo,

ich kenn mich noch gar nicht aus C# und .NET und würde gerne wissen, ob in C# geschriebene und compilierte Anwendungen auch auf Computern laufen, wo .NET Framework und diese ganzen Installer Pakete nicht installiert sind.

Sind diese .NET-Bibliotheken nur Vorraussetzung zum erstellen solcher Anwendungen oder auch zur Runtime notwendung?

Danke schon mal!


Christian S. - Do 23.08.07 15:20

Hallo!

Du brauchst ein entsprechendes Framework auf dem Rechner. Das kann das .NET Framework von MS sein, das Mono-Framework, dotGNU oder anderes. Aber ohne ein solches Framework läuft das nicht. Der C# Compiler spsuckt ja keinen ausführbaren Code aus, sondern nur einen Zwischencode der dann just-in-time bei der Ausführung "fertig" kompiliert wird.

Grüße
Christian


arj - Do 23.08.07 15:20

Das SDK braucht man aber natürlich nicht.


Jakob Schöttl - Do 23.08.07 15:30

mh, heißt das, ich kann mit meinem TurboC# gar keine "normalen" Programme schreiben, die ich überall ausführen kann?


JüTho - Do 23.08.07 15:51

user profile iconJakob Schöttl hat folgendes geschrieben:
mh, heißt das, ich kann mit meinem TurboC# gar keine "normalen" Programme schreiben, die ich überall ausführen kann?

So ist es (wobei man darüber streiten kann, was "normale" Programme sind).

user profile iconarj hat folgendes geschrieben:
Das SDK braucht man aber natürlich nicht.

So stimmt es (jedenfalls in der Praxis) nicht. SDK bedeutet "Software Development Kit" und ist also für die Entwicklung nötig. Verschiedene Programme (z.B. #D und Visual Studio) benutzen Teile des SDK für die Compilierung und verschiedene Funktionen, und "ohne" geht nichts; ob das für Turbo-C# auch gilt, weiß ich nicht, nehme es aber stark an.

Und um eine weitere Frage vorab zu beantworten: NET 1.0, 1.1 und 2.0 existieren unabhängig voneinander. Es muss also jeweils die passende Version installiert sein. (3.0 allerdings ist eine Erweiterung von 2.0).

Fazit: Für die Programmierung mit Turbo-C# ist NET 1.1 SDK zu installieren (jedenfalls in der Praxis). Für die Ausführung solcher Programme ist NET 1.1 Runtime zu installieren.

Gruß Jürgen


Kha - Do 23.08.07 17:02

user profile iconJüTho hat folgendes geschrieben:
NET 1.0, 1.1 und 2.0 existieren unabhängig voneinander.

Jupp, side-by-side (SxS) compatibility.
user profile iconJüTho hat folgendes geschrieben:
Es muss also jeweils die passende Version installiert sein. (3.0 allerdings ist eine Erweiterung von 2.0).
Nope, es wird sowohl Forward als auch Backwards Compatibility unterstützt. Ersteres dürfte in den meisten Fällen nichts mehr nützen, Letzters wird allerdings in den allermeisten Fällen funktionieren.


Timosch - Do 23.08.07 18:17

user profile iconJüTho hat folgendes geschrieben:

user profile iconarj hat folgendes geschrieben:
Das SDK braucht man aber natürlich nicht.

So stimmt es (jedenfalls in der Praxis) nicht. SDK bedeutet "Software Development Kit" und ist also für die Entwicklung nötig. Verschiedene Programme (z.B. #D und Visual Studio) benutzen Teile des SDK für die Compilierung und verschiedene Funktionen, und "ohne" geht nichts; ob das für Turbo-C# auch gilt, weiß ich nicht, nehme es aber stark an.

Die Frage lautete, ob man es für die Ausführung braucht, nicht zum Compilieren. Und zur Ausführung braucht man es eindeutig nicht.


Jakob Schöttl - Fr 24.08.07 08:23

Gut, vielen Dank an alle...