Entwickler-Ecke

Basistechnologien - .NET Grundsatzfrage


coolace - Fr 23.07.10 21:52
Titel: .NET Grundsatzfrage
Hy,

ich Programmiere jetzt seit einiger Zeit in .NET C#, aber eins habe ich nicht verstanden. Warum kann ich Anwendungen die ich z.B. in .NET 2.0 erstellt haben nicht auf einem Rechner laufen lassen der NUR das .NET4.0 Framework installiert hat ?

Mache ich hier was falsch ?

Gruß

Coolace

Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt


Christoph1972 - Fr 23.07.10 23:58

user profile iconcoolace hat folgendes geschrieben Zum zitierten Posting springen:

Mache ich hier was falsch ?


Gut möglich :lol:

Warum läuft es denn nicht? Gibts keine Fehlermeldung?


ujr - Sa 24.07.10 00:36

Hallo,

das geht nicht, weil 2.0/3.0/3.5 eine andere Laufzeitumgebung (repräsentiert durch die Version der CLR) benutzen als 4.0.


Christoph1972 - Sa 24.07.10 00:39

Das sollte alles abwärtskompatibel sein, ab FW 1.1.


Christoph1972 - Sa 24.07.10 00:48

Oh, habe mal gegoogelt. Scheint wohl nur bis 3.5 richtig zu sein was ich geschrieben habe. Na ja, bei mir läuft historisch bedingt immer alles :D


Kha - Sa 24.07.10 10:29

Meistens ist es besser, eine Anwendung erst gar nicht starten zu lassen, als sie auf eine nicht auf Kompatibilität getestete Runtime loszulassen. Das Verhalten kann aber über <supportedRuntime [http://msdn.microsoft.com/en-us/library/w4atty68.aspx] jederzeit geändert werden.


coolace - Mo 26.07.10 17:36

Hy,

danke für die Infos. Das heißt das ich keine Möglichkeit habe Anwendungen die unter 2.0 liefen ohne das .NET Framework zu installieren zum laufen bringe auch wenn das 4.0 Framework installiert ist :-(


Gruß

Coolace

Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt


Kha - Mo 26.07.10 19:18

Hast du dir meinen Beitrag durchgelesen?


coolace - Mo 26.07.10 20:16

Ja, hab ich durchgelesen.
Aber ich verstehe es ehrlich gesagt nicht ganz.
Wenn ich es grob verstanden habe dann muss ich ein Konfigurations-Datei anlegen, keine Ahnung wo das muss ich noch raus finden, die Erstellungsversion angebe und der .NET 4.0 kann dann damit umgehen.

Richtig ?

Gruß

Coolace

Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt


Yogu - Mo 26.07.10 20:48

Du hast Recht, das ist ziemlich schlecht dokumentiert. Die Konfigurationsdatei erstellst du über Projekt > Neues Element hinzufügen... > Anwendungskonfigurationsdatei > OK. Eine App.config wird erstellt, und die scheint auch am richtigen Platz zu sein.#

Dort fügst du den folgenden Inhalt ein:

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v1.0.3705" />
    <supportedRuntime version="v1.1.4322" />
    <supportedRuntime version="v2.0.50727" />
  </startup>
</configuration>

Testen kannst du das ganze, indem du die drei Zeilen auskommentierst und stattdessen eine mit einer ungültigen Versionsnummer einfügst, z.B. "v0.5". Die Benutzer, die nur die Version 4.0 haben, werden dann eine solche Fehlermeldung sehen:

message

Dort können sie dann gleich noch eine unterstützte Version herunterladen.

Grüße,
Yogu


coolace - Di 27.07.10 17:40

Hy,

vielen Dank für die Ausführlichen Infos und Hilfestellungen. Ist echt der Wahnsinn was .NET kann wenn man weiß wie :-)

Gruß

Coolace