Änderungen in ASP.NET MVC 3 Tools Update

Werbung
Versionshinweise zu ASP.NET MVC 3
Tools Update
Übersicht ....................................................................................................................................................... 2
Installationshinweise .................................................................................................................................... 2
Softwareanforderungen ............................................................................................................................... 3
Dokumentation ............................................................................................................................................. 3
Unterstützung ............................................................................................................................................... 3
Aktualisieren eines ASP.NET MVC 2-Projekts auf ASP.NET MVC 3 ............................................................... 3
Änderungen in ASP.NET MVC 3 Tools Update .............................................................................................. 5
Das Dialogfeld "Controller hinzufügen" kann Controller jetzt mit einem Gerüst aus Ansichten und Code für den
Datenzugriff versehen ...............................................................................................................................................5
Verbesserungen am Dialogfeld "Neues ASP.NET MVC 3-Projekt" ............................................................................8
Neue Projektvorlage: Modernizr 1.7 .......................................................................................................................10
Neue Projektvorlagen: Aktualisierte Versionen von jQuery, jQuery UI und jQuery Validation ..............................10
Neue Projektvorlage: ADO.NET Entity Framework 4.1 (als vorinstalliertes NuGet-Paket) .....................................10
Neue Projektvorlagen: JavaScript-Bibliotheken (als vorinstallierte NuGet-Pakete) ...............................................11
Bekannte Probleme .................................................................................................................................... 11
Haftungsausschluss ..................................................................................................................................... 13
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 1
Übersicht
Dieses Dokument beschreibt ASP.NET MVC 3 Tools Update für Visual Studio 2010.
Hinweis Diese Version ist eine Aktualisierung der ASP.NET MVC 3 RTM unterstützenden Tools
in Visual Studio. Diese Version bringt keine Änderungen der Laufzeitfunktionen von ASP.NET
MVC 3 mit sich; die Assembly System.Web.Mvc.dll wurde nicht aktualisiert.
ASP.NET MVC 3 ist ein Framework für die Entwicklung von Webanwendungen unter Verwendung des
Model-View-Controller (MVC)-Musters. Der ASP.NET MVC 3 Tools Update-Installer umfasst die
folgenden Komponenten:






ASP.NET MVC 3-Laufzeitkomponenten
ASP.NET MVC 3 Visual Studio 2010-Tools
ASP.NET Web Pages-Laufzeitkomponenten
ASP.NET Web Pages Visual Studio 2010-Tools
Microsoft Paket-Manager für .NET (NuGet) Version 1.2
Hotfix für Visual Studio 2010, der die Unterstützung für die Razor-Syntax aktiviert
Sämtliche Versionshinweise zu den Vorabversionen von ASP.NET MVC 3 können unter der folgenden
URL von der ASP.NET-Website abgerufen werden:
http://www.asp.net/learn/whitepapers/mvc3-release-notes
Installationshinweise
Wichtiger Hinweis: Stellen Sie sicher, dass alle Instanzen von Visual Studio geschlossen sind, bevor Sie
ASP.NET MVC 3 Tools Update installieren.
Wenn Sie ASP.NET MVC 3 Tools Update unter Verwendung des Webplattform-Installers (Web PI)
installieren möchten, so besuchen Sie die folgende Seite:
http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3
Alternativ können Sie den Installer für ASP.NET MVC 3 Tools Update für Visual Studio 2010 von der
folgenden Seite herunterladen:
http://go.microsoft.com/fwlink/?LinkID=208140
ASP.NET MVC 3 Tools Update kann parallel zu ASP.NET MVC 2 Tools für Visual Studio 2010 installiert und
ausgeführt werden. Wenn Sie bereits ASP.NET MVC 3 RTM installiert haben, können Sie durch
Ausführen des ASP.NET MVC 3 Tools Update-Installers eine Aktualisierung durchführen. Die bestehende
ASP.NET MVC 3-Installation muss nicht deinstalliert werden.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 2
Softwareanforderungen
Die ASP.NET MVC 3-Laufzeitkomponenten benötigen die folgende Software:

.NET Framework Version 4
Die ASP.NET MVC 3 Visual Studio 2010-Tools benötigen die folgende Software:

Visual Studio 2010 oder Visual Web Developer 2010 Express
Dokumentation
Die Dokumentation für ASP.NET MVC ist auf der MSDN-Website unter der folgenden URL verfügbar:
http://go.microsoft.com/fwlink/?LinkId=205717
Lernprogramme und weitere Informationen zu ASP.NET MVC sind auf der MVC-Seite der ASP.NETWebsite unter der folgenden URL verfügbar:
http://www.asp.net/mvc/
Unterstützung
Für diese Version wird vollständige Unterstützung geboten. Informationen zur Inanspruchnahme
technischer Unterstützung finden Sie auf der Microsoft Support-Website.
Darüber hinaus können Sie im ASP.NET MVC-Forum Fragen zu dieser Version stellen. Oftmals können die
in diesem Forum aktiven Mitglieder der ASP.NET-Community informelle Unterstützung leisten.
http://forums.asp.net/1146.aspx
Aktualisieren eines ASP.NET MVC 2-Projekts auf ASP.NET MVC 3
Zum manuellen Aktualisieren einer bestehenden ASP.NET MVC 2-Anwendung auf Version 3 führen Sie
die folgenden Schritte durch:
1. Erstellen Sie auf Ihrem Computer ein neues, leeres ASP.NET MVC 3-Projekt. Dieses Projekt enthält
einige Dateien, die für die Aktualisierung benötigt werden.
2. Kopieren Sie die folgenden Dateien aus dem ASP.NET MVC 3-Projekt an die entsprechende Position
Ihres ASP.NET MVC 2-Projekts. Um dem neuen Dateinamen (jQuery-1.5.1.js) Rechnung zu tragen,
müssen Sie sämtliche Verweise auf die jQuery-Bibliothek aktualisieren:
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 3




/Views/Web.config
/packages.config
/scripts/*.js
/Content/themes/*.*
3. Kopieren Sie den Ordner packages aus dem Stammverzeichnis der leeren ASP.NET MVC 3Projektmappe in das Stammverzeichnis Ihrer Projektmappe (das Verzeichnis, in dem sich die SLNDatei des Projekts befindet).
4. Wenn Ihr ASP.NET MVC 2-Projekt irgendwelche Bereiche enthält, so kopieren Sie die Datei
/Views/Web.config in den Ordner Views jedes dieser Bereiche.
5. Ersetzen Sie durch globales Suchen und Ersetzen die ASP.NET MVC-Versionsbezeichnung in beiden
Web.config-Dateien des ASP.NET MVC 2-Projekts. Suchen Sie nach:
System.Web.Mvc, Version=2.0.0.0
Ersetzen Sie dies durch:
System.Web.Mvc, Version=3.0.0.0
6. Löschen Sie im Projektmappen-Explorer den Verweis auf System.Web.Mvc (verweist auf die DLL von
Version 2), und fügen Sie einen Verweis auf System.Web.Mvc (v3.0.0.0) hinzu.
7. Fügen Sie Verweise auf System.WebPages.dll und auf System.Web.Helpers.dll hinzu. Diese
Assemblies befinden sich in den folgenden Ordnern:


%ProgramFiles%\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies
%ProgramFiles%\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies
8. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen, und
klicken Sie auf Projekt entfernen. Klicken Sie erneut mit der rechten Maustaste auf den
Projektnamen, und wählen Sie ProjektName.csproj bearbeiten.
9. Suchen Sie das ProjectTypeGuids-Element und ersetzen Sie {F85E285D-A4E0-4152-9332AB1D724D3325} durch {E53F8FEA-EAE0-44A6-8774-FFD645390401}.
10. Speichern Sie die Änderungen, klicken Sie mit der rechten Maustaste auf den Projektnamen, und
wählen Sie dann Projekt erneut laden.
11. Fügen Sie dem Abschnitt assemblies der Datei Web.config im Anwendungsstamm die folgenden
Einstellungen hinzu:
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 4
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
12. Wenn das Projekt Verweise auf Bibliotheken von Drittanbietern enthält, die unter Verwendung von
ASP.NET MVC 2 kompiliert wurden, so fügen Sie dem Abschnitt configuration der Datei Web.config
im Anwendungsstamm das folgende markierte bindingRedirect-Element hinzu:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Änderungen in ASP.NET MVC 3 Tools Update
Dieser Abschnitt beschreibt die in ASP.NET MVC 3 Tools Update gegenüber ASP.NET MVC 3 RTM
vorgenommenen Änderungen.
Das Dialogfeld "Controller hinzufügen" kann Controller jetzt mit einem Gerüst aus
Ansichten und Code für den Datenzugriff versehen
Gerüstbau stellt eine Möglichkeit dar, schnell und einfach einen Controller und Ansichten für Ihre
Anwendung zu erstellen. Nach Erstellung des Codes können Sie diesen den Anforderungen Ihres Projekts
entsprechend bearbeiten.
Um das Dialogfeld Controller hinzufügen in ASP.NET MVC 3 aufzurufen, klicken Sie im ProjektmappenExplorer mit der rechten Maustaste auf den Ordner Controllers. Klicken Sie dann auf Hinzufügen und
anschließend auf Controller. Das Dialogfeld wurde verbessert und bietet nun zusätzliche Optionen für
den Gerüstbau.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 5
In der Standardeinstellung stehen die drei folgenden Gerüstbauvorlagen zur Verfügung.
Leerer Controller
Diese Vorlage erzeugt eine leere Controllerdatei. Sie entspricht dem Deaktivieren von Aktionsmethoden
für Erstell-, Aktualisierungs- und Detailszenarien hinzufügen in früheren Versionen von ASP.NET MVC.
Wenn Sie diese Vorlage auswählen, stehen keine weiteren Optionen zur Verfügung.
Controller mit leeren Lese-/Schreibaktionen
Diese Vorlage erzeugt eine Controllerdatei, die alle erforderlichen Aktionsmethoden enthält, wobei die
Methoden jedoch keinen Implementierungscode besitzen. Sie entspricht dem Aktivieren von
Aktionsmethoden für Erstell-, Aktualisierungs- und Detailszenarien hinzufügen in früheren Versionen
von ASP.NET MVC. Wenn Sie diese Vorlage auswählen, stehen keine weiteren Optionen zur Verfügung.
Controller mit Lese-/Schreibaktionen und Ansichten unter Verwendung von Entity Framework
Diese Vorlage ermöglicht es Ihnen, schnell eine funktionstüchtige Dateneingabe-Benutzeroberfläche zu
erstellen. Sie erzeugt Code, der eine Vielzahl gängiger Anforderungen und Szenarien behandelt, so
beispielsweise:

Datenzugriff. Der erzeugte Code liest und schreibt Entitäten in einer Datenbank. Wenn Sie eine
bestehende Datenkontextklasse auswählen oder die Vorlage eine neue DbContext-Klasse erzeugen
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 6


lassen, arbeitet er mit dem Entity Framework Code First-Ansatz. Wenn Sie eine bestehende
ObjectContext-Klasse auswählen, arbeitet er auch mit dem Entity Framework Database First- oder
dem Entity Framework Model First-Ansatz.
Validierung. Der erzeugte Code verwendet ASP.NET MVC-Modellbindung und Metadatenfunktionen,
um übermittelte Formulare entsprechend der in Ihrer Modellklasse deklarierten Regeln zu
überprüfen. Hierzu zählen integrierte Validierungsregeln wie das Required- und das StringLengthAttribut ebenso wie benutzerdefinierte Validierungsregeln.
1:n-Beziehungen. Wenn Sie 1:n-Fremdschlüssel-Beziehungen zwischen Ihren Modellklassen
definieren, generiert der erzeugte Code Dropdownlisten für die Auswahl von verknüpften Entitäten.
So könnten Sie beispielsweise auf Grundlage der Entity Framework Code First-Konventionen die
folgenden Modellklassen definieren:
public class Product
{
public int ProductId { get; set; }
[Required]
public string Name { get; set; }
// Product belongs to Category
public int CategoryId { get; set; }
public virtual Category Category { get; set; }
}
public class Category
{
public int CategoryId { get; set; }
[Required]
public string Name { get; set; }
}
Wenn Sie dann ein Controllergerüst für die Klasse Product bauen, ermöglichen dessen Ansichten
dem Benutzer die Auswahl eines Category-Objekts für jede einzelne Product-Instanz.
Bei Verwendung dieser Vorlage stehen im Dialogfeld Controller hinzufügen weitere Optionen zur
Verfügung. Für Modellklasse können Sie jede beliebige Modellklasse Ihrer Projektmappe wählen und
auf diese Weise bestimmen, welchen Typ von Daten Benutzer erstellen oder bearbeiten können:


Wenn Sie Entity Framework Code First verwenden möchten, können Sie jede beliebige Modellklasse
wählen.
Wenn Sie Entity Framework Database First oder Entity Framework Model First verwenden, müssen
Sie darauf achten, eine in Ihrem konzeptionellen Modell definierte Entitätenklasse zu wählen.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 7
Für Datenkontextklassen stehen die folgenden Optionen zur Auswahl:



Wenn Sie Code First verwenden möchten, aber über keine bestehende Datenkontextklasse
verfügen, so wählen Sie <Neuer Datenkontext...>. In diesem Fall wird eine neue Datenkontextklasse
für Sie erstellt.
Wenn Sie Code First verwenden möchten und über eine bestehende Datenkontextklasse verfügen,
so wählen Sie diese hier aus. In diesem Fall wird sie aktualisiert, um die ausgewählte Modellklasse
beizubehalten.
Wenn Sie Database First oder Model First verwenden, so wählen Sie hier Ihre Objektkontextklasse
aus.
Wählen Sie unter Ansichten das gewünschte Ansichtsmodul aus, oder wählen Sie Keines, wenn Sie keine
Ansichten in das Gerüst aufnehmen möchten.
Unter Erweiterte Optionen können Sie weitergehende Optionen für die erstellten Ansichten angeben.
Beispielsweise können Sie die zu verwendende Layout- oder Masterseite auswählen.
Verbesserungen am Dialogfeld "Neues ASP.NET MVC 3-Projekt"
Das Dialogfeld für die Erstellung neuer ASP.NET MVC 3-Projekte weist eine Vielzahl von Verbesserungen
auf (siehe nachstehende Aufstellung).
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 8
Neue Vorlage für Intranetprojekte
Die Liste Projektvorlage enthält nun eine neue Vorlage Intranetanwendung. Diese Vorlage enthält
Einstellungen für das Erstellen von Webanwendungen unter Verwendung der Windowsauthentifizierung
(anstatt der Formularauthentifizierung). Da eine Intranetanwendung bestimmte IIS-Einstellungen
benötigt, die nicht in einer Projektvorlage gekapselt werden können, enthält die Vorlage eine Infodatei
mit den erforderlichen Anweisungen, um die Projektvorlage in IIS zum Funktionieren zu bringen. Die
Dokumentation für die neue Vorlage Intranetanwendung ist auf der MSDN-Website unter der
folgenden URL verfügbar:
http://msdn.microsoft.com/en-us/library/gg703322(VS.98).aspx
Projektvorlagen unterstützen nun HTML5
Das Dialogfeld "Neues Projekt" enthält nun eine Option, mit der die Projektvorlagen um HTML5spezifische Funktionen ergänzt werden können. Ist die Option aktiviert, verwenden die erstellten
Ansichten die neuen <header>-, <footer>- und <navigation>-Elemente von HTML5.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 9
Beachten Sie bitte, dass ältere Browserversionen keine Unterstützung für HTML5-spezifische Tags
bieten. Zur Überwindung dieser Einschränkung enthalten die HTML5-Projektvorlagen einen Verweis auf
die Modernizr-Bibliothek (siehe nächster Abschnitt).
Neue Projektvorlage: Modernizr 1.7
Modernizr ist eine JavaScript-Bibliothek, die die Verwendung von CSS 3 und HTML5 in Browsern
ermöglicht, die diese Funktionen noch nicht unterstützen. Diese Bibliothek ist in den Vorlagen für
ASP.NET MVC 3-Projekte als vorinstalliertes NuGet-Paket enthalten. Weitere Information zu Modernizr
finden Sie unter http://www.modernizr.com/.
Neue Projektvorlagen: Aktualisierte Versionen von jQuery, jQuery UI und jQuery
Validation
Die Projektvorlagen enthalten nun die folgenden Versionen der jQuery-Skripts:



jQuery 1.5.1
jQuery Validation 1.8
jQuery UI 1.8.11
Diese Bibliotheken sind als vorinstallierte NuGet-Pakete enthalten.
Neue Projektvorlage: ADO.NET Entity Framework 4.1 (als vorinstalliertes NuGetPaket)
Das ADO.NET Entity Framework 4.1 enthält die Code First-Funktionalität. Code First ist ein neues
Entwicklungsmuster für das ADO.NET Entity Framework, das eine Alternative zu den bereits
bestehenden Mustern Database First und Model First bietet.
Code First legt das Hauptaugenmerk auf die Definition Ihres Modells unter Verwendung von in Visual
Basic oder C# geschriebenen POCO-Klassen (Plain Old CLR Objects). Diese Klassen können dann einer
bestehenden Datenbank zugeordnet oder für die Erstellung eines Datenbankschemas verwendet
werden. DataAnnotations-Attribute oder die Verwendung von Fluent-APIs bieten weitere
Konfigurationsmöglichkeiten.
Die Dokumentation für die Nutzung von Code First mit ASP.NET MVC ist auf der ASP-NET-Website unter
den folgenden URLs verfügbar:
http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part1-cs
http://www.asp.net/entity-framework/tutorials/creating-an-entity-framework-data-model-for-an-aspnet-mvc-application
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 10
Neue Projektvorlagen: JavaScript-Bibliotheken (als vorinstallierte NuGet-Pakete)
Wenn Sie ein neues ASP.NET MVC 3-Projekt erstellen, werden die o. a. JavaScript-Daten (z. B. die
Modernizr-Bibliothek) in das Projekt aufgenommen, indem sie mittels NuGet installiert werden (anstatt
die Skripts direkt dem Ordner Scripts des Projekts hinzuzufügen). Auf diese Weise können Sie die Skripts
mit NuGet jederzeit auf die jeweils neueste Version aktualisieren.
Bedenkt man beispielsweise die Häufigkeit neuer jQuery-Versionen, kann man mit Sicherheit davon
ausgehen, dass die in der Projektvorlage enthaltene Version von jQuery irgendwann einmal veraltet sein
wird. Da jQuery jedoch als installiertes NuGet-Paket enthalten ist, werden Sie im NuGet-Dialogfeld
benachrichtigt, sobald eine neuere Version von jQuery verfügbar ist.
Da jQuery die Versionsnummer im Dateinamen trägt, muss bei einer Aktualisierung von jQuery auf die
neueste Version auch das auf die jQuery-Datei verweisende <script>-Tag an den neuen Dateinamen
angepasst werden. Andere enthaltene Skriptbibliotheken tragen keine Versionsnummer im Skriptnamen
und können daher einfacher auf die jeweils neueste Version aktualisiert werden.
Bekannte Probleme






In einigen Fällen kann die Installation mit der Fehlermeldung "Installationsfehler. Fehlercode:
0x80070643" scheitern. Der KnowledgeBase-Artikel 2531566 erläutert, wie Sie dieses Problem
umgehen können.
Der Gerüstbauprozess für das Hinzufügen eines Controllers berücksichtigt keine Entitäten, die von
der Entitätenvererbungs-Unterstützung in Entity Framework Nutzen machen. Sei beispielsweise eine
Basisklasse Person gegeben, die von einer Klasse Student geerbt wird, so führt die Aufnahme der
Student-Klasse im Rahmen des Gerüstbaus zur Erstellung von nicht kompilierbarem Code.
Die Erstellung eines neuen ASP.NET MVC 3-Projekts innerhalb eines Projektmappenordners ruft
einen NullReferenceException-Fehler hervor. Erstellen Sie zur Umgehung dieses Problems das
ASP.NET MVC 3-Projekt im Stammverzeichnis der Projektmappe, und verschieben Sie es dann in den
Projektmappenordner.
IntelliSense für Razor-Syntax funktioniert nicht, wenn ReSharper installiert ist. Wenn Sie ReSharper
installiert haben und die in ASP.NET MVC 3 gebotene IntelliSense-Unterstützung für Razor nutzen
möchten, so machen Sie sich mit den Informationen im Eintrag Razor Intellisense and ReSharper in
Hadi Hariris Blog vertraut, in dem verschiedene Möglichkeiten erörtert werden, diese gemeinsam zu
nutzen.
Während der Installation werden die Lizenzbedingungen im Dialogfeld zum Akzeptieren des EULAs
in einem zu kleinen Fenster angezeigt.
Wenn Sie während der Bearbeitung einer Razor-Ansicht (CSHTML- oder VBHTML-Datei) einen
Codeausschnitt für ASP.NET MVC auswählen, werden Ausschnitte für ASPX-Ansichten angezeigt.
ASP.NET MVC 3 enthält keinerlei Ausschnitte für Razor-Ansichten.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 11

Wenn Sie ASP.NET MVC 3 für Visual Web Developer Express auf einem Computer installieren, auf
dem Visual Studio nicht installiert ist, und später dann Visual Studio installieren, müssen Sie ASP.NET
MVC 3 erneut installieren. Visual Studio und Visual Web Developer Express nutzen Komponenten
gemeinsam, die durch den ASP.NET MVC 3-Installer aktualisiert werden. Die gleiche Problematik
tritt auf, wenn Sie ASP.NET MVC 3 für Visual Studio auf einem Computer installieren, auf dem Visual
Web Developer Express nicht installiert ist, und später dann Visual Web Developer Express
installieren.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 12
Haftungsausschluss
© 2011 Microsoft Corporation. Alle Rechte vorbehalten. Dieses Dokument wird "wie besehen"
bereitgestellt. In diesem Dokument enthaltene Informationen und geäußerte Ansichten einschließlich
URLs und anderer Verweise auf Websites im Internet können ohne vorherige Ankündigung geändert
werden. Sie tragen das alleinige Nutzungsrisiko.
Dieses Dokument verleiht Ihnen keinerlei juristische Rechte hinsichtlich des geistigen Eigentums an
irgendeinem Microsoft-Produkt. Sie dürfen dieses Dokument kopieren und für interne Referenzzwecke
verwenden.
Versionshinweise zu ASP.NET MVC 3 Tools Update
Copyright © 2011 Microsoft Corporation
Seite 13
Herunterladen