230 likes | 393 Views
Was ist neu in VS 2003 ? Ein Überblick. Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting berndm@go-sky.de. Agenda. Installation Upgrading von VS.NET 2002-Projekten Die Änderungen an der IDE Spracherweiterungen Web Services Mobile Anwendungen J#
E N D
Was ist neu in VS 2003 ?Ein Überblick Bernd Marquardt Software & Consulting berndm@go-sky.de
Agenda • Installation • Upgrading von VS.NET 2002-Projekten • Die Änderungen an der IDE • Spracherweiterungen • Web Services • Mobile Anwendungen • J# • Die Änderungen in der Klassenbibliothek • Zusammenfassung
Installation • Side-by-Side-Installation ist problemlos möglich • VS 6, VS.NET 2002 und VS.NET 2003 • Im VS.NET 2003 kann man festlegen, welches Framework (1.0 oder 1.1) benutzt werden soll • Administrator kann für eine 1.0-Anwendung festlegen, welche Framework-Version benutzt werden soll • Gilt auch für ASP.NET (IIS-Konsole)
Projekt-Upgrade • Öffnen des Projektes mit VS.NET 2003 • Hinweis-Dialog erscheint • Code wird nicht konvertiert • ACHTUNG: Alte Projekt-Dateien sichern • XXX.SLN wird von VS gesichert: XXX.SLN.OLD • XXX.yyPROJ muss man selber sichern • Dann kann man auch wieder zurück
IDE-Änderungen • Visual Basic .NET • Prozedur-Teiler sind wieder vorhanden • Objekt- und Methoden-DropDown-Felder sind nun kontext-sensitiv • Try…Catch-Block wird automatisch vervollständigt
IDE-Änderungen • C# • In einer Klasse: public override <space> gibt eine Liste mit allen überschreibbaren Methoden • Implementierung von Events wurde automatisiert • Beim Build können bestimmte Kommandos vor und nach dem Build ausgeführt werden
IDE-Änderungen • Sprachunabhängige Erweiterungen: • Mit Intellisense wird in der DropDown-Liste jeweils die am häufigsten benutzte Methode sofort selektiert • Z.B. bei „Console.“ wird (normalerweise) sofort die „Writline“-Methode selektiert (und nicht die „Write“-Methode) • Interface-Implementierung • Automatisches Einfügen aller Interface-Methoden
Spracherweiterungen • VB kann nun Variablen in Schleifen deklarieren Dim Birthdays As ArrayList For Each Birthday As String In Birthdays Console.Writeline(Birthday) Next • VB kann nun auch den Shift-Operator Dim X As Integer = 1 << 14
Spracherweiterungen • Es gibt keine großartigen Erweiterungen • IDE und Framework sind stabil • Das ist auch gut so! • Größere Änderungen und Erweiterungen erst in der nächsten Version • In dieser Version: Noch KEINE generischen Datentypen (Templates)
Web Services • „Add Web Reference“-Dialog verbessert • Web Services auf der lokalen Maschine können einfach referenziert werden • Darstellung der WSDL-Informationen in lesbarem Stil • WSDL-Darstellung: „View Source“ • Name des Proxies („Web Reference Name“) kann sofort geändert werden • WSE (Web Services Enhancements) sind nicht enthalten (Release-Zyklus)
Mobile Anwendungen • Das Compact Framework ist integriert • Projekttyp: Smart Device Application • In VB.NET und C# (nicht in C++ und J#) • Emulatoren können zum Testen benutzt werden • Das Compact Framework ist eine Untermenge des „großen“ Frameworks • Programmierparadigma bleibt gleich
J# • J# ist als Sprache im VS.NET 2003 integriert • Projekttypen: WinApp, ClassLib, ControlLib, WebApp, WebService, WebControlLib, ConsoleApp, WinService • Conversion-Wizard nach C# ist vorhanden
Sicherheit • Formular-basierte Authentifizierung in einer ASP.NET-Anwendung • Einfache Implementierung einer Login-Seite • Mit Anbindung an eigene Datenquellen • PROBLEM: Das Passwort geht in Klartext über die Leitung • Abhilfe: Einsatz von Secure Socket Layer (SSL) • Cross Site Scripting-Attacken können über das Attribut „ValidateRequest“ verhindert werden
Klassenbibliothek • Alte Version: 1.0 Neue Version: 1.1 • Änderungen: 24 Methoden • Gelöscht: 60 Methoden • Hinzugefügt: 1045 Methoden • Alte Programme sollten in den meisten Fällen problemlos mit VS.NET 2003 laufen
Klassenbibliothek • Änderungen in: • System.Data • System.EnterpriseServices • System.Web • System.Windows.Forms • System.Xml • MsCorLib und System
Klassenbibliothek • Viele Deklarationsänderungen protected virtual protected override • Neue Methoden oft nur überladen • Mit Int64 oder Secutity-Informationen • Erweiterungen in Aufzählungen • Einige Properties wurden komplett (set & get) implementiert
Klassenbibliothek • System.Windows.Forms • EnableVisualStyles() • Neue Klasse „FolderBrowserDialog“ • System.Reflection • Assembly.LoadFile(…) • Assembly.ImageRuntimeVersion • System.IO.Directory & System.IO.File • Creation-, Access- und Write-Time-Methoden • System.Math • BigMul, DivRem
Zusammenfassung • Grundsätzlich kann man VS 2003 als riesengroßes Service Pack (2 GByte) betrachten • Kompatibilität ist gut • Es gibt einige nützliche Erweiterungen • Alles ist integriert (Compact Framework und J#) • Update soll sehr kostengünstig sein
Further Information • What‘s new in Visual Studio .NET 2003? http://www.3leaf.com/default/articles/ea/WhatsNewWithVS2003.aspx
Glossary • Managed Code: Code, der unter der Kontrolle der .NET-Common Language Runtime läuft. • Unmanaged Code: Prozessor-abhängiger Maschinencode. • CLR: Common Language Runtime; gemeinsame Runtime für alle .NET-Sprachen. • GC: Garbage Collector; verwaltet den Speicher bei .NET-Anwendungen; zerstört bei Bedarf die nicht mehr referenzierten Objekte im Speicher. • (MS-) IL-Code: Microsoft Intermediate Language; Platform-unabhängiger Zwischencode, der von den .NET-Sprach-Compilern erzeugt wird; wird vom JIT-Compiler zur Laufzeit in nativen Maschinencode übersetzt. • JIT-Compiler: Just In Time-Compiler; übersetzt zur Laufzeit den MS-IL-Code in native Maschinensprache. • ILDASM: Tool zum Anschauen des MS-IL-Codes in einer .NET-EXE-Datei. • RCW: Runtime Callable Wrapper; Wrapper-Klasse, die den Aufruf von „unmanaged“ COM-Komponenten aus „managed“ Code ermöglicht