none
Allgemeine Fragen zu .NET & .NET Core RRS feed

  • Frage

  • Hallo Microsoft Community,

    bin gerade dabei mich weiter in .NET und .NET Core einzulesen und da sind mir zwei Fragen gekommen:

    1. Werden Apps die ich mit ASP.NET5 und .NET Core entwickelt habe auch auf Rechnern laufen, die nur .NET installiert haben und umgekehrt?

    2. Das Konzept der Universal Apps finde ich super und da hat mich interssiert, ob bei der Entwicklung auch das klassische .NET Framework herangezogen wird oder eigene APIs ? Die Laufzeitumgebung ist ja bei Universal Apps nicht mehr die CLR sondern WinRT.

    Auf Antworten würde ich mich freuen. :-)

    Dankeschön & viele Grüße

    Kevin

    Samstag, 5. Dezember 2015 22:15

Antworten

  • Hallo Kevin,

    eine kleine Korrektur zu Thomas Antwort: Windows 7. wird mit .NET 3.5 ausgeliefert.

    Ansonsten gilt:

    zu 1.)
    Jede Anwendung benötigt die .NET Version(en) und alle zusätzlichen Abhängigkeiten, die sie für die Ausführung benötigt. Das heißt, dass auch alles von .NET Core (für die Grundlegende Typen wie Int32 usw.) mit installiert sein muss.

    zu 2.)
    Hier hat Thomas Recht: Es ist eine vollkommen neue API. Diese arbeitet auch intern anders als das klassische .NET. Einmal wegen den Berechtigungen und dem Manifest (Sandbox-System), teilweise aber auch wegen der Ausführungsgeschwindigkeit und den teilweise größeren (IoT API, ...), aber auch teilweise kleineren Funktionsmöglichkeiten (Fehlende WMI Unterstützung, ...).


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    • Als Antwort markiert Troboba Sonntag, 6. Dezember 2015 12:56
    Sonntag, 6. Dezember 2015 10:03
    Moderator
  • Hallo.

    Meines Wissens nach muss das .NET-Framework durchaus installiert sein. Alleine schon, weil die Laufzeit und das Framework so gut wie immer zusammen installiert werden.

    Für ASP.NET 5 müsste ähnliches gelten, wobei du dann noch einen Server (wie z.B. den IIS oder IIS Express) benötigen würdest.

    Allerdings ist auch den meisten Rechner das .NET-Framework bereits vorinstalliert - sogar auf XP findet man mindestens die Version 2 vor, auf Win7 sogar 4.5.

    Zu deiner zweiten Frage:

    Das normale Framework steht dir nur Teilweise zur Verfügung. Also allgemeine Klassen wie "MemoryStream", "List" etc. sind verfügbar. Spezielle APIs, die bei WinRT durch neuere Versionen ausgetauscht wurden, sind nicht mehr Verfügbar.

    So kannst du z.B. die ganzen Dateisystemklassen aus "System.IO" nicht verwenden. Dazu musst du jetzt "Windows.Storage" verwenden.

    Ähnliches gilt für die UI, für den Zugriff auf das Internet etc.

    Das liegt daran, dass die "traditionellen" APIs immer den Zugriff erlauben und das für alle Anwendungen. Bei den Apps hingegen ist es ja so, dass du für jede Funktion im Manifest deklarieren musst, dass du die Berechtigung haben willst.

    Verweise:

    [1] Windows.Storage-Namespace

    [2] App package manifest

    [3] Windows Universal Apps - API Reference

    [4] Installing .NET Core on Linux


    © 2015 Thomas Roskop
    Germany //  Deutschland

    • Als Antwort markiert Troboba Sonntag, 6. Dezember 2015 12:55
    Sonntag, 6. Dezember 2015 09:10

Alle Antworten

  • Hallo.

    Meines Wissens nach muss das .NET-Framework durchaus installiert sein. Alleine schon, weil die Laufzeit und das Framework so gut wie immer zusammen installiert werden.

    Für ASP.NET 5 müsste ähnliches gelten, wobei du dann noch einen Server (wie z.B. den IIS oder IIS Express) benötigen würdest.

    Allerdings ist auch den meisten Rechner das .NET-Framework bereits vorinstalliert - sogar auf XP findet man mindestens die Version 2 vor, auf Win7 sogar 4.5.

    Zu deiner zweiten Frage:

    Das normale Framework steht dir nur Teilweise zur Verfügung. Also allgemeine Klassen wie "MemoryStream", "List" etc. sind verfügbar. Spezielle APIs, die bei WinRT durch neuere Versionen ausgetauscht wurden, sind nicht mehr Verfügbar.

    So kannst du z.B. die ganzen Dateisystemklassen aus "System.IO" nicht verwenden. Dazu musst du jetzt "Windows.Storage" verwenden.

    Ähnliches gilt für die UI, für den Zugriff auf das Internet etc.

    Das liegt daran, dass die "traditionellen" APIs immer den Zugriff erlauben und das für alle Anwendungen. Bei den Apps hingegen ist es ja so, dass du für jede Funktion im Manifest deklarieren musst, dass du die Berechtigung haben willst.

    Verweise:

    [1] Windows.Storage-Namespace

    [2] App package manifest

    [3] Windows Universal Apps - API Reference

    [4] Installing .NET Core on Linux


    © 2015 Thomas Roskop
    Germany //  Deutschland

    • Als Antwort markiert Troboba Sonntag, 6. Dezember 2015 12:55
    Sonntag, 6. Dezember 2015 09:10
  • Hallo Kevin,

    eine kleine Korrektur zu Thomas Antwort: Windows 7. wird mit .NET 3.5 ausgeliefert.

    Ansonsten gilt:

    zu 1.)
    Jede Anwendung benötigt die .NET Version(en) und alle zusätzlichen Abhängigkeiten, die sie für die Ausführung benötigt. Das heißt, dass auch alles von .NET Core (für die Grundlegende Typen wie Int32 usw.) mit installiert sein muss.

    zu 2.)
    Hier hat Thomas Recht: Es ist eine vollkommen neue API. Diese arbeitet auch intern anders als das klassische .NET. Einmal wegen den Berechtigungen und dem Manifest (Sandbox-System), teilweise aber auch wegen der Ausführungsgeschwindigkeit und den teilweise größeren (IoT API, ...), aber auch teilweise kleineren Funktionsmöglichkeiten (Fehlende WMI Unterstützung, ...).


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    • Als Antwort markiert Troboba Sonntag, 6. Dezember 2015 12:56
    Sonntag, 6. Dezember 2015 10:03
    Moderator
  • Hallo Thomas und Tom,

    vielen Dank für eure Antworten ! Wieder etwas gelernt :-)

    Grüße

    Kevin

    Sonntag, 6. Dezember 2015 12:55