Windows Phone Developer Tools RTM – Versionshinweise

09/16/2010

Dies sind die Versionshinweise für die RTM-Version der Windows Phone Developer Tools.

Systemanforderungen

Installation

Deinstallation

Wichtige Änderungen

Bekannte Probleme

Systemanforderungen

Unterstützte Betriebssysteme

Hardware

Nicht unterstützte Plattformen

Installation

  1. Wenn Sie eine ältere Version der Windows Phone Developer Tools installiert haben, müssen Sie diese deinstallieren, bevor Sie die neue Version installieren.
  2. Wenn dieselbe Sprachversion von Visual Studio 2010 (Professional oder höher) installiert ist, können Sie Visual Studio 2010 nach Installation der Windows Phone Developer Tools für die Entwicklung verwenden.
  3. Sie können die Windows Phone Developer Tools selbst dann installieren, wenn Visual Studio® noch nicht installiert ist.
  4. Klicken Sie auf den Link für die Windows Phone Developer Tools, und befolgen Sie die Anweisungen.

Deinstallation

Wichtige Änderungen für die Windows Phone Developer Tools zwischen Beta- und RTM-Version

 
 Element  Beschreibung
Aktualisieren von Anwendungen, die mit früheren Versionen der Windows Phone Developer Tools erstellt wurden Die Datei WMAppManifest.xml und die Vorlagendateien wurden geändert. Nun, da die Manifestvalidierung aktiviert wurde, müssen Sie diese Dateien möglicherweise in Ihren älteren Projekten aktualisieren. Hier sind eine Reihe von Änderungen aufgeführt. Sie können die Dateien WmAppManifest.xml, app.xaml und app.xaml.cs in einem neuen Projekt jedoch auch mit den gleichen Dateien in Ihren alten Projekten vergleichen, um festzustellen, was geändert wurde, und die alten Dateien anschließend entsprechend aktualisieren.

Die folgende Liste enthält die Änderungen, die Sie an der Datei WmAppManifest.xml vornehmen müssen:

  • Ändern Sie im <App>-Element den Wert des Genre-Attributs von NormalApp in apps.normal.
  • Ändern Sie im <App>-Element den Wert des RuntimeType-Attributs von SilverLight in Silverlight.
  • Entfernen Sie das PlaceHolderString-Attribut aus dem <DefaultTask>-Element.
  • Fügen Sie das NavigationPage-Attribut zum <defaulttask>-Element hinzu, und legen Sie es auf die Hauptseite Ihrer Anwendung fest. Beispiel: <DefaultTask … NavigationPage=”MainPage.xaml”/>.

Die folgende Liste enthält die Änderungen, die Sie an der Datei App.xaml vornehmen müssen:

Hinweis: Zur Aktualisierung dieser Datei empfiehlt es sich, eine Kopie der neuesten Version zu erstellen. Kopieren Sie die für Ihre Anwendung spezifischen Informationen (z. B. Ressourcen) aus Ihrer alten Datei in die neue Datei.

  • Entfernen Sie das <Application.RootVisual> -Element.
  • Fügen Sie das <Application.ApplicationLifetimeObjects> -Element hinzu. Beispiel:

    <Application.ApplicationLifetimeObjects>
          <!--Erforderliches Objekt, das die Lebensdauerereignisse für die Anwendung behandelt-->
          <shell:PhoneApplicationService Launching="Application_Launching" Closing="Application_Closing"
               Activated="Application_Activated" Deactivated="Application_Deactivated"/>
    </Application.ApplicationLifetimeObjects>
     

Die folgende Liste enthält die Änderungen, die Sie an der Datei app.xaml.cs vornehmen müssen:

  • Wenn Sie das <Application.ApplicationLifetimeObjects>-Element zur Datei App.xaml hinzugefügt haben, müssen Sie die folgenden Ereignishandler zur Datei app.xaml.cs hinzufügen:

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
    }

    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
    }

    private void Application_Deactivated(object sender, DeactivatedEventArgs e)
    {
    }

    private void Application_Closing(object sender, ClosingEventArgs e)
    {
    }
  • Fügen Sie den folgenden Initialisierungscode zur Datei app.xaml.cs hinzu, und rufen Sie InitializePhoneApplication() im app-Konstruktor auf:

    // Einfacher Zugriff auf den Stammframe
    public PhoneApplicationFrame RootFrame { get; private set; }

    // Doppelte Initialisierung verhindern
    private bool phoneApplicationInitialized = false;

    // Keinen weiteren Code zu dieser Methode hinzufügen
    private void InitializePhoneApplication()
    {
    if (phoneApplicationInitialized)
    return;

    // Frame erstellen, ihn aber noch nicht als RootVisual festlegen; dadurch bleibt der
    // Begrüßungsbildschirm aktiv, bis die Anwendung zum Rendern bereit ist.
    RootFrame = new PhoneApplicationFrame();
    RootFrame.Navigated += CompleteInitializePhoneApplication;

    // Navigationsfehler behandeln
    RootFrame.NavigationFailed += RootFrame_NavigationFailed;

    // Sicherstellen, dass keine erneute Initialisierung erfolgt
    phoneApplicationInitialized = true;
    }

    // Keinen weiteren Code zu dieser Methode hinzufügen
    private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
    {
    // Visuelles Stammelement festlegen, damit die Anwendung rendern kann
    if (RootVisual != RootFrame)
    RootVisual = RootFrame;

    // Diesen Handler entfernen, weil er nicht mehr benötigt wird
    RootFrame.Navigated -= CompleteInitializePhoneApplication;
    }

    // Auszuführender Code, wenn eine Navigation fehlschlägt
    void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
    {
    if (System.Diagnostics.Debugger.IsAttached)
    {
    // Eine Navigation ist fehlgeschlagen; Debugger unterbrechen
    System.Diagnostics.Debugger.Break();
    }
    }

    #endregion

 

Sideloadingumfang von Anwendungen auf dem Handy begrenzen Die Entwickler-Handyregistrierung ist der Prozess, über den ein registrierter Windows Phone®-Entwickler ein handelsübliches Windows Phone entsperren kann, um Anwendungen für Entwicklungs- und Testzwecke per Sideloading zu übertragen. Für die Anzahl der per Sideloading übertragenen Anwendungen, die auf dem Handy parallel installiert werden können, wird ein Grenzwert durchgesetzt. Die Anzahl der Anwendungen wird standardmäßig auf 10 begrenzt. Versuche, mehr als 10 Anwendungen per Sideloading zu übertragen, führen zu einem Fehler. Dieser Grenzwert hat keine Auswirkungen auf Anwendungen, die über Windows Phone® Marketplace installiert werden.

 

XNA Framework-Assemblyverweise Das Token des öffentlichen Schlüssels für XNA Framework-Assemblys wurde geändert. Mit älteren Versionen der Windows Phone Developer Tools erstellte Assemblyverweise in Inhalts- und Spieleprojekten müssen aktualisiert werden, damit sie ordnungsgemäß funktionieren. Entfernen Sie dazu die Verweise, die sich nicht korrekt auflösen lassen, über den Knoten "Verweise" im Projektmappen-Explorer von Visual Studio, und fügen Sie sie erneut hinzu.

 

Zeichencodierung Die Unterstützung für alle Zeichencodierungen mit Ausnahme der in der folgenden Liste aufgeführten Codierungen wird entfernt.
  • utf-8
  • utf-16
  • utf-16LE
  • utf-16BE
  • ISO-8859-1

Die Verwendung eines nicht unterstützten Codierungswerts in einer Anwendung führt zu einer ArgumentException -Ausnahme. Sie müssen Verweise auf nicht unterstützte Codierungswerte in vorhandenen Anwendungen entfernen. Die XML-Daten dürfen nur unterstützte Codierungen angeben. Beispiel:
<?xml version="1.0" encoding= “utf-8”?>.

 

Eine GamerPrivilegeException wird zurückgegeben, wenn der Benutzer nicht über Inhaltsrechte verfügt. Wenn die Flags AllowProfileViewing und AllowUserCreatedContent nicht in einem Spielerprofil festgelegt sind, kann der Benutzer die Profile oder die Spielerkarte eines anderen Benutzers nicht anzeigen. Die folgenden Methoden führen nun eine Prüfung auf diese Rechte durch und geben GamerPrivilegeException zurück, wenn der Benutzer nicht über die folgenden Rechte verfügt:
  • Guide.ShowGamerCard(PlayerIndex player, Gamer gamer)
  • Gamer.BeginGetFromGamertag(string gamertag, AsyncCallback callback, object asyncState)
  • Gamer.GetFromGamertag(string gamertag)
  • Gamer.GetProfile()
  • Gamer.BeginGetProfile(AsyncCallback callback, object asyncState
Der Mechanismus zur Bilderfreigabe wurde geändert. Früher stellte Windows Phone® 7 das Bild in den isolierten Speicher der Anwendung. Das Bild wurde anschließend geladen, wenn die Anwendung gestartet wurde. Beim Starten der Anwendung wird ihr nun ein Zeichenfolgentoken übergeben. Zum Abrufen des Bilds ruft die Anwendung die GetPictureFromToken()-Methode, public static Picture GetPictureFromToken(string token), auf, die das Token als Parameter interpretiert und ein Picture-Objekt zurückgibt. Sie müssen vorhandene Anwendungen aktualisieren.

Das folgende Codebeispiel zeigt, wie die GetPictureFromToken-Methode zum Abrufen eines Fotos verwendet wird. Weitere Informationen finden Sie unter How to: Create a Photo Extras Application for Windows Phone (in englischer Sprache):

using System.Windows.Media.Imaging;
using Microsoft.Phone;
using System.IO;
using Microsoft.Xna.Framework.Media;
using System.Windows.Navigation;
.
.
.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
//Ruft ein Wörterbuch mit Abfragezeichenfolgeschlüsseln und -werten ab
IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;


//Dieser Code stellt sicher, dass die Abfragezeichenfolge mindestens einen Schlüssel enthält, und prüft, ob der "token"-Schlüssel vorhanden ist.
if (queryStrings.ContainsKey("token"))
{

//Dieser Code ruft das Bild von der lokalen Zune-Mediendatenbank ab, wobei das an die Anwendung übergebene Token verwendet wird.
MediaLibrary library = new MediaLibrary();
Picture picture = library.GetPictureFromToken(queryStrings["token"]);


//Erstellt ein WriteableBitmap-Objekt und erweitert die Source-Eigenschaft des Image-Steuerelements.
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(picture.GetImage());
WriteableBitmap picLibraryImage = new WriteableBitmap(bitmap);
retrievePic.Source = picLibraryImage;
}

}

Bereitstellung und Debugging Wenn beim Bereitstellen oder Debugging folgender Fehler ausgegeben wird: "Die Anwendung konnte nicht zum Debuggen gestartet werden". Prüfen Sie zunächst, ob die Anwendung auf dem Zielgerät installiert und ob im Projekt kein Begrüßungsbildschirm vorhanden ist. Deinstallieren Sie anschließend die Anwendung, und führen Sie die folgenden Schritte in Visual Studio aus:
  1. Fügen Sie eine Bilddatei mit dem Namen "SplashScreenImage.jpg" zum Projekt hinzu.
  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und wählen Sie "Eigenschaften" aus.
  3. Setzen Sie im Bereich "Eigenschaften" die Option "Buildvorgang" auf "Inhalt".
  4. Erstellen Sie die Anwendung neu, und stellen Sie sie erneut bereit.
Installation unter Windows Vista Das Setupprogramm der Windows Phone Developer Tools blockiert die Installation unter Windows Vista und zwingt den Benutzer, Windows Vista SP2 zu installieren.

Bekannte Probleme

Installation

Deinstallation

Expression Blend 4

Silverlight-Anwendungsentwicklung

Visual Studio 2010 Express für Windows Phone

Windows Phone-Emulator

XNA-Spieleentwicklung

Windows Phone-Bereitstellung und Debugging in XNA Game Studio

Installation

  1. Windows Phone Developer Tools (WPDT) RTM ist nur mit der RTM-Version von Visual Studio® 2010 kompatibel. Wenn eine andere Version der Visual Studio 2010-Produktfamilie als Visual Studio 2010 RTM auf Ihrem Computer installiert ist, wird das Setupprogramm gestoppt, und Sie werden aufgefordert, das Produkt oder eine Gruppe von Komponenten zu deinstallieren.
  2. Weitere bekannte Installations- und Deinstallationsprobleme bei Visual Studio 2010 finden Sie in dieser ReadMe-Datei.
  3. Wenn Komponenten von XNA Game Studio oder Expression Blend im Rahmen einer WPDT-Installation nicht installieren werden, können Sie sie über Programme hinzufügen/entfernen installieren:
    1. Klicken Sie mit der rechten Maustaste auf Microsoft Windows Phone Developer Tools – ENU, und wählen Sie Deinstallieren/ändern aus.
    2. Wählen Sie Add Optional components aus, und setzen Sie die Installation fort.
  4. Windows Phone-Projekte werden in LightSwitch- und anderen integrierten Shell-SKUs von Visual Studio angezeigt. Allerdings wird die Entwicklung von Windows Phone-Anwendungen in diesen SKUs nicht unterstützt.
  5. Expression Blend wird von WPDT Repair nicht repariert. Um Expression Blend zu reparieren, führen Sie die Schritte oben bei Punkt 3 aus.
  6. Auf einem Computer kann nur eine einzige lokalisierte WPDT-Version installiert werden.
  7. Sie können eine lokalisierte WPDT-Version auf einem Computer mit dem entsprechenden lokalisierten Betriebssystem installieren.
  8. Die Installation einer Sprachversion von WPDT auf einem System mit einer anderen Sprachversion von Expression Blend wird nicht unterstützt.
  9. Beim Upgrade von der englischen Version (ENU-Version) von WPDT auf eine lokalisierte Version müssen Sie WPDT ENU und Expression Blend deinstallieren. Stellen Sie sicher, dass Sie alle verbleibenden Komponenten von Expression Blend deinstallieren, bevor Sie mit der Installation der lokalisierten WPDT-Version fortfahren.

Deinstallation

Expression Blend 4

  1. Silverlight-, Windows Presentation Foundation (WPF)- und SketchFlow-Projekte sind in Expression Blend 4 für Windows Phone nicht verfügbar. Um Silverlight-, WPF- oder SketchFlow-Projekte zu erstellen, laden Sie die Testversion von Expression Studio 4 Ultimate herunter.

Silverlight-Anwendungsentwicklung

  1. HttpWebRequest (und WebClient) UserAgent, die als NULL oder leere Zeichenfolge festgelegt sind, werden als NativeHost gesendet. Auch wenn die UserAgent-Eigenschaft für eine HttpWebRequest auf NULL oder eine leere Zeichenfolge ("") festgelegt ist, hat diese Eigenschaft den Wert NativeHost, wenn die Anforderung gesendet wird.
  2. Wird Microsoft.Devices.MediaHistoryItem.PlayerContext zum Hinzufügen von Schlüssel-Wert-Paaren verwendet, müssen Sie kleinere Werte verwenden. Dies wirkt sich auf die APIs MediaHistory.WriteRecentPlay() und MediaHistory.WriteAcquiredItem() aus, die den Hub "Musik & Videos" nicht aktualisieren können, falls die kombinierte Größe der Schlüssel-Wert-Paare zu groß ist. Achten Sie darauf, dass die kombinierte Länge aller Schlüssel-Wert-Paare 200 Zeichen nicht übersteigt.
  3. Das FMRadio wird nicht automatisch ausgeschaltet, wenn Ihre Anwendung in den Hintergrund tritt. Es verbraucht auch dann Akkustrom, wenn es nicht in Gebrauch ist. Ihre Anwendung sollte das Radio ausschalten (z. B. MyFMRadio.PowerMode = RadioPowerMode.Off), wenn es nicht mehr benutzt wird.
  4. Das Schieberegler-Steuerelement verarbeitet keine Ränder innerhalb seiner Steuerelementvorlage. Der Schieberegler funktioniert nur bei kleinen Werten (z. B. 0 bis 5). Wenn Sie versuchen, ihn für größere Werte zu verwenden, stellen Sie möglicherweise fest, dass Sie den Schieberegler nicht weit genug nach rechts ziehen können. Außerdem kann es sein, dass der Schieberegler bei bestimmten Layouts abstürzt (z. B. wenn Sie ihn innerhalb eines ScrollViewer mit einer horizontalen Bildlaufleiste auf "Stretch" festlegen).
    Um diese Probleme zu beheben, müssen Sie die Vorlage aktualisieren und die inneren Ränder entfernen. Beachten Sie, dass die zusätzliche Fingereingabezone dadurch verloren geht.
  5. Wird die deaktivierte Instanz einer Anwendung erneut aktiviert, kann die Navigation erst beginnen, nachdem die Navigation von der externen Seite zur Toplevelseite der erneut aktivierten Anwendung abgeschlossen wurde. Der bis jetzt am häufigsten aufgetretene Fehler ist der, dass Anwendungen Navigate oder GoBack aufzurufen versuchen, wenn sie das Completed-Ereignis eines Auswahlobjekts empfangen. Dies kann leider passieren, bevor die Navigation zur Toplevelseite abgeschlossen wurde. Das Problem lässt sich umgehen, indem Sie auf das NavigationService.Navigated-Ereignis oder die OnNavigatedTo-Überschreibung der Toplevelseite warten, bevor Sie Navigate oder GoBack aufrufen.
  6. Das z-Reihenfolgen-Rendering von MediaElement funktioniert im Windows Phone-Emulator nicht ordnungsgemäß. Das Medienelement erscheint im Hintergrund, wenn es im Emulator auf anderen Steuerelementen platziert wird. Um dieses Problem zu umgehen, müssen Sie sicherstellen, dass nichts hinter das Medienelement gestellt wird (d. h., dass die Elemente eine niedrigere z-Reihenfolge aufweisen als das Medienelement).
  7. Für Silverlight- und XNA Framework-Anwendungen und -Spiele: Entfernen Sie Logik, die Guide.SimulateTrialMode auf "true" setzt, bevor Sie Ihre Windows Phone 7-Anwendung zur Endzertifizierung einreichen. Diese Eigenschaft wirkt sich zwar nicht auf den Testmodus in Spielen von Windows Phone Marketplace aus, sie hat in Spielen mit Demolizenz aber einen unbeabsichtigten Effekt auf Guide.ShowMarketplace.
  8. Beim Navigieren von einer Seite mit einer Karte auf eine andere Seite mit einer Karte funktioniert das Zusammendrücken und Dehnen nicht mehr. Wenn eine Anwendung auf mehrere Seiten mit Karten navigiert, dürfen Sie die Karte nicht zur xaml hinzufügen. Fügen Sie stattdessen Code ein, der wartet, bis die ganze Seite geladen ist, bevor Ihre Karte erstellt und zur Seite hinzufügt wird.
  9. Das mehrfache Schreiben in eine Bestenlisten-BLOB-Spalte kann in manchen Situationen dazu führen, dass bei nachfolgenden Aufrufen von LeaderboardReader.EndRead eine InvalidOperationException ausgelöst wird. Diese Ausnahme wird unter Umständen nach dem Neustart der Anwendung oder beim Ausführen anderer Anwendungen auf demselben Gerät, das Freunde-Bestenlisten von Xbox LIVE® verwendet, weiterhin ausgelöst.
  10. Wenn Ihr Code eine Schaltfläche der Anwendungsleiste entfernt, die NICHT die letzte Schaltfläche ist, und dann eine neue Schaltfläche hinzufügt, ändert sich die Reihenfolge der Schaltflächen, und eine der Schaltflächen wird zu einem Menüelement der Anwendungsleiste.
    Wenn dieses Problem auftritt, können Sie alle Elemente der Anwendungsleiste entfernen und erneut hinzufügen. Wenn Sie eine einzelne Schaltfläche ändern müssen, können Sie diese direkt aktualisieren. Sie müssen sie nicht entfernen und dann eine aktualisierte Schaltfläche hinzufügen.
  11. Das Gerät kann nicht entsperrt werden, während Zune® eine Synchronisierung ausführt. Wenn Sie das Gerät zu entsperren versuchen, bevor Zune die Synchronisierung beendet hat, wird die folgende Fehlermeldung angezeigt:

    Fehler: Es konnte keine Verbindung mit dem Handy hergestellt werden. Stellen Sie sicher, dass die Zune-Software ausgeführt wird und dass die Zune-Synchronisierungspartnerschaft mit Ihrem Handy eingerichtet wurde.
  12. Wenn Ihre Anwendung versucht, mithilfe von HTTPWebRequest über ein WLAN auf eine Website zuzugreifen und die Site aufgrund von WLAN-Beschränkungen blockiert ist, wird anstelle der erwarteten WebException eine ArgumentNullException zurückgegeben. Um dieses Problem zu umgehen, müssen Sie in Ihrer Anwendung eine nicht-spezifische catch-Klausel verwenden (z. B. catch (Exception e){..}).
  13. Sie können MessageBox.Show nicht direkt vom Konstruktor aufrufen, weil die Ausführung erst erfolgt, nachdem Application.Startup verarbeitet wurde. Verwenden Sie Dispatcher.BeginInvoke, um dieses Problem zu umgehen. Beispiel:

    System.Windows.Deployment.Current.Dispatcher.BeginInvoke(Test);

    void Test()
    {
    MessageBox.Show("Test", MessageBoxButton.OK);
    }
  14. MultiScaleImage.ZoomAboutLogicalPoint rendert die aktualisierte Szene nicht, wenn MultiScaleImage.UseSprings auf "false" festgelegt ist. Dies ist möglicherweise nicht problematisch, wenn ein anderes Element oder eine andere Logik eine Änderung der Szene bewirkt (z. B. bei einer Animation). Wenn das Problem jedoch nicht durch andere Aktionen behoben wird, die eine Änderung der Szene bewirken, können Sie dieses Problem auf zwei Arten umgehen:
    • Stellen Sie den ZoomAboutLogicalPoint-Aufruf zwischen die UseSprings-Sätze, wenn Sie UseSprings auf "false" (MultiScaleImage = false) festgelegt haben und Sie die MultiImageScale.ZoomAboutLogicalPoint-Methode verwenden. Sie können dann das folgenden Codebeispiel verwenden:
      deepZoomImage.UseSprings = true;
      deepZoomImage.ZoomAboutLogicalPoint(1.5, 0.5, 0.5);
      deepZoomImage.UseSprings = false;

      Durch die Verwendung von ZoomAboutLogicalPoint zwischen zwei UseSprings-Werteinstellungen, bei denen die letzte Einstellung auf "false" festgelegt ist, bleibt der gewünschte Effekt einer UseSprings-Deaktivierung erhalten und die Skalierung wird aktualisiert.
    • – ODER – Dieses Problem hat keinen Einfluss auf die verwaltete Implementierung der ZoomAboutLogcialPoint-Zoom- und -Schwenkfunktion, wenn Sie die ViewportWidth- und/oder die ViewportOrigin-Eigenschaft verwenden. Die folgende verwaltete Implementierung von ZoomAboutLogicalPoint verwendet ViewportWidth und ViewportOrigin, um dieses Renderingproblem zu umgehen:
      public static void ZoomAboutPoint(MultiScaleImage multiScaleImage, double zoomFactor, Point centerPoint)
      {
      double newZoomViewportWidth = multiScaleImage.ViewportWidth / zoomFactor;

      double centerPointXRatio = (centerPoint.X - multiScaleImage.ViewportOrigin.X) / multiScaleImage.ViewportWidth;
      double centerPointYRatio = (centerPoint.Y - multiScaleImage.ViewportOrigin.Y) / multiScaleImage.ViewportWidth;
      double finalcenterPointX = centerPoint.X - (newZoomViewportWidth * centerPointXRatio);
      double finalcenterPointY = centerPoint.Y - (newZoomViewportWidth * centerPointYRatio);
      multiScaleImage.ViewportOrigin = new Point(finalcenterPointX, finalcenterPointY);
      multiScaleImage.ViewportWidth = new ZoomViewportWidth;
      }

  15. Verwenden Sie die statische Typeninitialisierung (auch als Klassenkonstruktoren bezeichnet) mit Vorsicht. Eine statische Typeninitialisierung, die direkt oder indirekt einen blockierenden Vorgang aufruft, könnte einen Deadlock zur Folge haben, und Ihre Anwendung stürzt ab. Wenn die statische Initialisierung beispielsweise DateTime.Now aufruft, stürzt die Anwendung ab, weil die API intern eine Sperre verwendet, um Threadsicherheit zu gewährleisten. Das Problem lässt sich mit einem Instanzenkonstruktor umgehen, der die Daten überprüfen und nur einmal initialisieren kann.
  16. Wenn die Plattformassembly eine Benutzerassembly zu laden versucht und dieser Versuch fehlschlägt, sehen Sie keine Ausnahme, und der Datenverlust ist nicht leicht zu erkennen. Dies kann vorkommen, wenn die Plattform versucht, etwas in der Benutzerassembly zu serialisieren.
  17. Die PhoneApplicationPage.State-Werteigenschaft bleibt nur erhalten, wenn sie Werte enthält. Wenn Sie einen State-Wert für die Seite festlegen, zu einer anderen Seite und zurück navigieren und dann den Wert aus der State-Auflistung entfernen, ist die Eigenschaft immer noch vorhanden, wenn Sie von der Seite weg und wieder zurück navigieren, weil der Zustandswert nicht beibehalten wurde. Eine Möglichkeit der Problemumgehung besteht darin, dass Sie Ihre Anwendung so konzipieren, dass Zustandswerte auf NULL festgelegt und nicht entfernt werden. Eine weitere Möglichkeit ist die, immer einen Dummywert in der Auflistung zu lassen, sodass das State-Wörterbuch immer gespeichert wird.
  18. Für bestehende Projekte wurde das ListViewItem-Steuerelement entfernt. Möglicherweise müssen Sie die Stildefinition dafür aus der Datei "App.xaml" entfernen. Suchen Sie nach "mpc:ListViewItem".
  19. In dieser Version sollten die Pro-Frame-Rückrufe (d. h. die Behandlung des CompositionTarget.Rendering-Ereignisses) aufgrund nicht optimaler Leistung sparsam verwendet werden.
  20. ApplicationBar und zugehörige Klassen können nicht an der Datenbindung und an Namensbereichen teilnehmen, sodass Sie Code-Behind verwenden müssen, wenn Sie Eigenschaften programmgesteuert ändern möchten.
  21. Wenn ein Namespace in Silverlight und Windows Phone vorhanden ist, wird durch Drücken von F1 (Hilfe) nach Silverlight aufgelöst. Dies ist das Standardverhalten für Visual Studio 2010.

Visual Studio 2010 Express für Windows Phone

  1. Um den Namespace für Ihre Anwendung zu ändern, müssen Sie die folgenden Dateien ändern: [Projektname].csproj, App.xaml und App.xaml.cs
    • Suchen Sie in der Datei [Projektname].csproj das <SilverlightAppEntry>-Tag, und ersetzen Sie den aktuellen Namespacenamen durch den neuen Namespacenamen. Das bedeutet, dass Sie <SilverlightAppEntry>AlterNamespace.App</SilverlightAppEntry> in <SilverlightAppEntry>NeuerNamespace.App</SilverlightAppEntry> ändern müssen.
    • Suchen Sie in der Datei "App.xaml" die Zeile "x:Class="AlterNamespace.App"", und ändern Sie sie in "x:Class="NeuerNamespace.App"".
    • Suchen Sie in der Datei "App.xaml.cs" die Namespacedeklaration, und ändern Sie den Namespace "AlterNamespace" in den Namespace "NeuerNamespace".
    • Wählen Sie den richtigen Namespace und die richtige Klasse als Startobjekt in den Projekteigenschaften aus.
  2. Wenn Sie Ihr Handy mit dem Windows Phone Developer Registration-Tool entsperren, erhalten Sie möglicherweise eine Fehlermeldung, die besagt, dass der Gerätename in Gebrauch ist. Dies ist höchstwahrscheinlich dann der Fall, wenn das Gerät zuvor mit demselben Konto entsperrt wurde. Dieses Problem lässt sich auf zwei Arten lösen:
    • Verwenden Sie den Zune-Client, um dem Gerät vor dem Entsperren einen anderen Namen zuzuweisen.
    • – ODER – Entfernen Sie die Geräteregistrierung, bevor Sie das Gerät entsperren. Zum Entsperren des Geräts rufen Sie das Entwicklerportal für Windows Phone 7 auf, klicken Sie auf "Ihre Anwendungen", melden Sie sich an Ihrem Konto an, und klicken Sie auf "Geräteregistrierung".
  3. In manchen Szenarios gehen die Speicherressourcen des Systems bei XAP-Verpackungen zur Neige. Es gibt Fälle, in denen die XAP-Verpackung eine Ausnahme aufgrund unzureichenden Arbeitsspeichers auslösen kann. Dies geschieht tendenziell häufiger bei sehr großen Projekten oder bei Projekten mit vielen Dateien, die in das XAP gepackt werden. Dies kann sowohl bei Silverlight- als auch bei XNA Framework-Projekten vorkommen. Gehen Sie auf eine der folgenden Arten vor, um dieses Problem zu umgehen:
    • Fügen Sie Arbeitsspeicher hinzu.
      – ODER –
    • Verwenden Sie ein 64-Bit-Betriebssystem; verwenden Sie die VPDExpress.exe anstelle der devenv.exe; führen Sie Builds außerhalb von Visual Studio aus; schließen Sie TFS und andere Fenster, um den Speicherbedarf von devenv.exe zu verringern.
  4. Windows Phone Developer Tools zeigt die unten aufgelisteten Komponenten an. Diese Komponenten werden jedoch nicht unterstützt.
    • Profiler
    • IntelliTrace
    • Lab Management
    • Testen
    • Datenbankkomponenten
      • Datenquelle anzeigen
      • Neue Datenquelle hinzufügen
      • Schemavergleich

Windows Phone-Emulator

  1. GPU-Unterstützung: Der Windows Phone-Emulator unterstützt die GPU-Peripherieemulation unter Verwendung der Host-GPU auf einem PC, der DDI, Version 10 und höher, sowie DirectX, Version 10 und höher, unterstützt. Auf allen anderen Computern fällt der Emulator auf eine Softwareemulation zurück, was auf der Plattform nicht unterstützt wird. Weitere Informationen finden Sie unter Setup and System Requirements for Windows Phone Emulator (in englischer Sprache) in der Dokumentation zu den Windows Phone Developer Tools auf MSDN.
    Sie können prüfen, ob Ihr PC die empfohlene Konfiguration unterstützt, indem Sie "dxdiag" von einem Befehlszeilenfenster ausführen.

    Unter Windows Vista SP2 sind die vier Updates, die Teil von KB 971644 sind, ebenfalls erforderlich, um die Bereitstellung für den Windows Phone-Emulator zu unterstützen.
    Die folgenden Updates, auf die in KB 971644 verwiesen wird, sind für Windows Vista x86-basierte Systeme erforderlich:

    Die folgenden Updates, auf die in KB 971644 verwiesen wird, sind für Windows Vista x64-basierte Systeme erforderlich:

  2. Wenn sich die Zeitzone des Hostcomputers während der Ausführung von Windows Phone-Emulator ändert, wird die Zeitzone des Emulators nicht aktualisiert.
  3. Fiddler wird in dieser Version nicht unterstützt. Wenn Sie Fiddler zum Nachverfolgen des gesamten Netzwerkverkehrs konfigurieren, kann der Emulator keine Verbindung mit dem Netzwerk herstellen. Sie können die unten aufgeführten Schritte ausführen, um vom Windows Phone-Emulator aus eine Verbindung mit dem Intranet herzustellen, während Fiddler den Netzwerkverkehr auf dem Hostcomputer nachverfolgt. Fiddler überwacht den Netzwerkverkehr des Windows Phone-Emulators jedoch nicht.
    • Konfigurieren Sie Fiddler so, dass nur der Internetverkehr nachverfolgt wird.
    • Verwenden Sie manuelle Proxyeinstellungen, und umgehen Sie den Proxyserver für lokale Adressen.
    • Dadurch ist es dem Emulator möglich, eine Verbindung mit einer Intranetsite herzustellen.
  4. Wenn der Windows Phone-Emulator unter Windows Vista ausgeführt wird, kommt es zu Audiofehlern aufgrund verloren gegangener Audiopakete, wenn Audiodateien (z. B. Mediendateien oder Warnsignale) wiedergegeben werden. Dieses Problem tritt nicht auf, wenn der Emulator unter Windows 7 ausgeführt wird.
  5. Wenn Sie MediaPlayerLauncher auf dem Emulator verwenden, werden Videoframes nur gerendert, wenn Sie immer wieder auf die Benutzeroberfläche klicken. Beispiel: Wenn Sie klicken, werden ein oder zwei Frames angezeigt; anschließend wird die Anzeige dunkel. Wenn Sie immer wieder klicken, sehen Sie das ganze Video.
  6. Da der Emulator nicht alle Komponenten von Windows Phone 7 enthält, kann es vorkommen, dass manche Startprogramme und Auswahlobjekte nicht wie erwartet funktionieren (z. B. E-Mail und SMS). Weitere Informationen finden Sie unter Launcher and Chooser Support in Windows Phone Emulator (in englischer Sprache).
  7. Medien: Der Emulator unterstützt nur den VC-1-Container (WMV Simple, Main und Advanced Profile) für die Videocodierung.
  8. Der Emulator unterstützt keine Änderung der Ausrichtung, wenn die Tastatur aktiviert ist. Sie müssen die Tastatur durch Drücken der PAUSE/UNTBR- oder der BILD-AB/BILD-AUF-TASTE deaktivieren und den Emulator anschließend drehen.
  9. Eine vorhandene Instanz eines virtuellen Computers von Virtual Box wird geschlossen, wenn der Windows Phone-Emulator auf einem Host-PC mit aktiviertem Hardware-VT gestartet wird.
  10. Eine vorhandene Instanz eines virtuellen Computers von VMWare wird geschlossen, wenn der Windows Phone-Emulator auf einem Host-PC mit aktiviertem Hardware-VT gestartet wird.
  11. Um XNA Framework-Spiele unter einem Windows Vista-Hostcomputer auf dem Emulator ausführen zu können, muss Windows Vista SP2 installiert sein. Weitere Informationen über die Anforderungen zum Ausführen von XNA Framework-Spielen finden Sie im Abschnitt Windows Phone-Bereitstellung und Debugging in XNA Game Studio.

XNA-Spieleentwicklung

  1. Wenn der Verweis auf mscorlib aus einem XNA Game Studio-Projekt entfernt wird, kann dieser nicht mehr über die Visual Studio-Schnittstelle zum Projekt hinzugefügt werden. Wenn Sie versuchen, einen Verweis auf die mscorlib-Assembly zu einem XNA Game Studio Windows-Spieleprojekt hinzuzufügen, nachdem dieser Verweis entfernt wurde, wird die folgende Meldung angezeigt: "Es konnte kein Verweis auf 'mscorlib' hinzugefügt werden. Der Verweis auf diese Komponente wurde bereits automatisch vom Buildsystem erstellt."

    Bei Windows Phone- und Xbox 360®-Spieleprojekten führt der Versuch, einen Verweis auf die mscorlib-Assembly hinzuzufügen, nachdem er entfernt wurde, zwar nicht zu einer Fehlermeldung, der Verweis wird jedoch nicht zum Projekt hinzugefügt. Bei allen XNA Game Studio-Spieleprojekten schlägt der Build fehl, und die folgende Fehlermeldung wird angezeigt: "Der vordefinierte Typ 'System.Object' ist nicht definiert oder importiert."

    Um dieses Problem zu umgehen, öffnen Sie die CSPROJ-Datei, und fügen Sie den Verweis wieder zu dieser Bibliothek hinzu:

    <Reference Include="mscorlib">
    <Private>False</Private>
    </Reference>
  2. Die CopyLocal-Einstellung wird für XNA Framework-Assemblys bei Projekten nicht unterstützt, die für Windows Phone oder Xbox 360 bereitgestellt werden. Für Xbox 360-Projekte werden die Dateien bereitgestellt, sie sind aber nicht erforderlich und werden ignoriert. Unter Windows Phone hat das Festlegen von CopyLocal auf "true" eine MissingMethodException, eine fehlende Funktionalität oder eine sofortige Beendigung des Spiels zur Folge.
    a. Beim Microsoft.Xna.Framework-Assemblyverweis löst die Anwendung eine MissingMethodException aus.
    b. Beim Microsoft Xna.Framework.Game- oder Microsoft.Xna.Framework.Graphics-Assemblyverweis wird das Spiel zwar gestartet, aber sofort wieder beendet.
    c. Beim Microsoft.Xna.Framework.Input.Touch-Assemblyverweis wird das Spiel zwar ausgeführt, die Fingereingabe funktioniert jedoch nicht.

    Um dieses Problem zu beheben, müssen Sie die CopyLocal-Eigenschaft des Assemblyverweises auf "false" festlegen. Informationen darüber, wie Sie dabei vorgehen müssen, finden Sie unter Gewusst wie: Festlegen der Eigenschaft Lokale Kopie eines Verweises.
  3. Im Rückruf an BeginGetProfile hat der IAsyncResult-Parameter manchmal eine AsyncState-Eigenschaft, die fälschlicherweise auf NULL festgelegt ist. Dies führt zu einer NullReferenceExeption, wenn auf die AsyncState-Eigenschaft zugegriffen wird. Um dieses Problem zu umgehen, definieren Sie den Rückrufparameter von BeginGetProfile als einen Delegaten. Informationen darüber, wie Sie dabei vorgehen müssen, finden Sie unter Verwenden eines AsyncCallback-Delegaten zum Beenden einer asynchronen Operation.
  4. Der Effektzustand wird beim Klonen eines Effect für die Effect-Eigenschaft nicht kopiert, und der Originalzustand der Renderzustände wird nicht wiederhergestellt, wenn der Effekt bei Aufrufen von Mesh.Draw angewendet wird. Zustandsänderungen werden in GraphicsDevice-Renderzustandseigenschaften nicht wiedergegeben, und nachfolgende Änderungen an den GraphicsDevice-Renderzustandseigenschaften führen möglicherweise nicht zu einer Aktualisierung des Grafikgerätezustands. Diese Zustände werden unter manchen Bedingungen möglicherweise zurückgesetzt, z. B. wenn SpriteBatch.Draw aufgerufen wird.
  5. Die Einstellungen Befehlszeile für Präbuildereignis und Befehlszeile für Postbuildereignis können auf der Registerkarte Buildereignisse der Seite Projekteigenschaften für XNA Game Studio-Inhaltsprojekte nicht gespeichert oder bearbeitet werden. Diese Felder lassen sich auf der Seite Buildereignisse zwar bearbeiten, die Einstellungen werden jedoch nicht gespeichert. Entwickler können die CONTENTPROJ-Datei manuell bearbeiten, um Befehlszeileneinstellungen für Präbuild- und Postbuildereignisse hinzuzufügen; diese Einstellungen werden auf der Registerkarte Buildereignisse in einem schreibgeschützten Feld angezeigt.
  6. Visual Studio stürzt ab, wenn neue Verweispfade über die Seite für Projekteigenschaften zu Inhaltsprojekten hinzugefügt werden. Verweispfade lassen sich durch eine manuelle Bearbeitung der .contentproj.user-Datei hinzufügen.

    <PropertyGroup>
    <ReferencePath>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\</ReferencePath>
    </PropertyGroup>


    Nachdem Verweispfade durch eine manuelle Bearbeitung der .contentproj.user-Datei hinzugefügt wurden, sind diese Einstellungen auf der Registerkarte "Referenzpfade" der Visual Studio-Eigenschaftenseiten für das Inhaltsprojekt sichtbar.
  7. Wenn mehr als ein Spiele- oder Spielebibliotheksprojekt, das für dieselbe Plattform in derselben Lösung geplant ist, auf ein Inhaltsprojekt verweist, wird der folgende Buildfehler angezeigt:

    Datei {Dateiname} kann nicht kopiert werden.

    Dieser Fehler tritt auf, weil Inhalt aus dem Inhaltsausgabeordner gelöscht wird, wenn mehr als ein Projekt, das für dieselbe Plattform geplant ist, einen Verweis auf ein gemeinsam genutztes Inhaltsprojekt enthält. Um dieses Problem zu umgehen, fügen Sie den Verweis auf das Inhaltsprojekt zu einem Spielebibliotheksprojekt hinzu und verweisen dann von anderen Projekten in der Lösung auf die Spielebibliothek.
  8. Entwickler müssen die D3DX-Analyse deaktivieren, um das Leistungstool "PIX for Windows" ausführen zu können.
  9. Visual Studio 2010-Testprojekte werden nicht ausgeführt, wenn das Testprojekt auf ein XNA Game Studio-Inhaltsprojekt verweist. Entwickler müssen Inhaltsprojekte deaktivieren, wenn sie den Assistenten zum Erstellen von Tests verwenden.
  10. XNA Game Studio unterstützt keine FBX-Dateien mehr, die mehrere Animationsaufnahmen enthalten. Ein Spiel zeigt mehrere Kopien der ersten Animationsaufnahme an, wenn eine FBX-Datei mehrere Animationsaufnahmen angibt.
  11. XNA Game-Entwickler sollten die Implementierung eigener Begrüßungsbildschirme in Betracht ziehen.
    Diese Änderung wirkt sich nicht auf die Fähigkeit aus, Spiele auszuführen. In XNA-Spielen mit einer SplashScreenImage.jpg-Datei wird der Begrüßungsbildschirm nur kurz angezeigt, was einen Zittereffekt erzeugen kann. Wenn Sie Ihren eigenen Begrüßungsbildschirm in den Startcode Ihres Spiels implementieren, können Sie steuern, wann und wie lange er angezeigt wird. Beachten Sie die folgenden Empfehlungen, wenn Sie Begrüßungsbildschirme für Ihre Spiele erstellen:
    • Halten Sie die Größe Ihrer Einstiegsassembly gering. Alle Einstiegsassemblys werden beim Anwendungsstart signiert und geprüft, sodass dieser Rat für Silverlight- und XNA-Spiele gilt. Die Validierung ist SEHR aufwändig. Silverlight fügt Ressourcen (Texturen usw.) standardmäßig als verwaltete Ressourcen zur Einstiegsassembly hinzu. Sie sollten Ressourcen manuell zur XAP-Datei und nicht zur Assembly hinzufügen.
    • Führen Sie in Initialize() die folgenden Schritte aus:
      1. Rufen Sie base.Initalize() auf. Dadurch wird GraphicsDevice ordnungsgemäß erstellt.
      2. Laden Sie Ihre Textur. Beachten Sie die folgenden Richtlinien, damit Bilder schnell geladen werden:
        • Passen Sie die Größe der Textur an die Zielauflösung und -ausrichtung des Spiels an.
        • Legen Sie die Textur auf eine automatische Größenänderung zum Quadrat fest.
        • Verwenden Sie das Format "DXT komprimiert".
      3. Erstellen Sie einen SpriteBatch.
      4. Rendern Sie die Textur.
      5. Rufen Sie GraphicsDevice.Present() auf.
    • Zeichnen Sie die Anfangstextur in Draw() weiter, und wechseln Sie optional zu einer Ladeanimation, sobald diese Ressourcen geladen sind.

Windows Phone-Bereitstellung und Debugging in XNA Game Studio

  1. XNA Game Studio prüft vor der Bereitstellung für den Windows Phone-Emulator, ob eine mit DirectX 10 oder höher kompatible Grafikkarte mit einem WDDM 1.1-Treiber vorhanden ist. Wenn die Grafikkarte DirectX 10 oder höher nicht unterstützt, wird die folgende Meldung im Fehlerfenster von Visual Studio angezeigt:
    Fehler beim Bereitstellen: Die aktuelle Grafikkarte erfüllt nicht die Emulatoranforderungen zum Ausführen von XNA Framework-Anwendungen.

    Sie können mit dem DirectX Caps Viewer Tool feststellen, ob eine Grafikkarte DirectX 10 oder höher unterstützt und ob ein WDDM 1.1-Treiber installiert ist. Dieses Tool kann über das DirectX-SDK heruntergeladen werden.

    Führen Sie die folgenden Schritte aus, um festzustellen, ob eine Grafikkarte DirectX 10 oder höher unterstützt:
    1. Erweitern Sie im DirectX Caps Viewer zunächst den Ordner "DXGI 1.1 Devices" und dann den Ordner der nächsten Ebene für die Videokarte. Unter diesem Ordner werden Ordner für Direct3D® 10, Direct3D 10.1 und dergleichen angezeigt.
    2. Erweitern Sie den Ordner "Direct3D 10.1", und sehen Sie sich den Eintrag "Feature Level" an. In diesem Ordner sehen Sie einen Eintrag für D3D10_FEATURE_LEVEL_10_0 oder D3D10_FEATURE_LEVEL_10_1, falls die Grafikkarte DirectX 10 oder höher unterstützt. Wird bei "Feature Level" die Featureebene 9_n oder darunter angezeigt, werden die vom Windows Phone-Emulator benötigten Direct3D-Funktionen nicht unterstützt.

    Wird diese Fehlermeldung angezeigt und ist Ihre Grafikkarte dem DirectX Caps Viewer Tool zufolge DirectX 10-fähig, müssen Sie auf der Website des Grafikkartenherstellers nachsehen, ob ein neuerer Treiber verfügbar ist.

    Unter Windows Vista SP2 sind die vier Updates, die Teil von KB 971644 sind, ebenfalls erforderlich, um die Bereitstellung für den Windows Phone-Emulator zu unterstützen.
    Die folgenden Updates, auf die in KB 971644 verwiesen wird, sind für Windows Vista x86-basierte Systeme erforderlich: Die folgenden Updates, auf die in KB 971644 verwiesen wird, sind für Windows Vista x64-basierte Systeme erforderlich:
  2. Auf Windows Phone-Geräten gibt VertexBuffer.GetData keine korrekten Ergebnisse für die Überladung dieser Methode zurück. Dies ermöglicht es Entwicklern, den vertexStride-Parameter festzulegen. Der Zugriff auf Daten mit dieser Überladung gibt die richtigen Daten für Windows Phone-Emulator-, Windows- und Xbox 360-Spiele zurück. Um das Problem bei Windows Phone-Spielen zu umgehen, verwenden Sie zum Suchen von Elementen nicht die Vertexbreite, sondern lesen Sie den ganzen Vertexpuffer.
  3. MediaPlayer.Play löst eine InvalidOperationException aus, wenn Sie den Zune-Client auf Ihrem PC ausführen, während Sie Spiele auf einem als Modem fungierenden Windows Phone debuggen oder spielen. Diese Ausnahme zeigt eine falsche Ausnahmemeldung an: "Songwiedergabe fehlgeschlagen. Stellen Sie sicher, dass der Song nicht mit DRM geschützt ist. Mit DRM geschützte Songs werden für Creatorspiele nicht unterstützt." Diese Ausnahmemeldung ist falsch und wird selbst dann angezeigt, wenn der Song nicht mit DRM geschützt wird. Um dieses Problem zu beheben, schließen Sie den Zune-Client, während Sie ein Spiel auf einem als Modem fungierenden Windows Phone debuggen oder spielen.
  4. Wenn Ihr Spiel das Querformat verwendet, spiegelt der Windows Phone-Emulator fälschlicherweise den Inhalt des Hintergrundpuffers, wenn der Puffer beim Initialisieren und Beenden des Spiels gerendert wird. Die gerenderten Frames werden je nach DisplayOrientation-Einstellung entweder von oben nach unten oder von links nach rechts gespiegelt. Dieses Verhalten ist nur beim Initialisieren und Beenden des Spiels im Emulator zu beobachten.
  5. Im Windows Phone-Emulator muss der SkinnedEffect-Knochenindexkanal als eines der ganzzahligen Vertexelementformate (Byte4, Short2 oder Short4) angegeben sein. Diese Gruppe ganzzahliger Datenformate kann nicht für andere Shadereingabekanäle wie Farben, Positionen und Texturkoordinaten im Emulator verwendet werden. Die Vertexformate können mit jedem beliebigen Shadereingabekanal auf Windows Phone-Geräten, Xbox 360 und Windows verwendet werden.
  6. Wenn ein Projekt nie bereitgestellt und das Spieleprojekt nicht für einen Build oder eine Bereitstellung konfiguriert wurde, schlägt die Bereitstellung des Spiels mit der folgenden Fehlermeldung fehl: "Die Anwendung konnte nicht zum Debuggen gestartet werden. Stellen Sie sicher, dass die Anwendung auf dem Zielgerät installiert ist." Wenn das Spiel zuvor auf dem Gerät bereitgestellt wurde, wird keine Fehlermeldung ausgegeben. Das Spiel wird jedoch nicht bereitgestellt, und die zuvor bereitgestellte Version des Spiels wird beim Debugging gestartet. Führen Sie die folgenden Schritte aus, um ein Spieleprojekt für den Build oder die Bereitstellung festzulegen:
    1. Klicken Sie in Visual Studio® 2010 Express für Windows Phone zunächst auf Tools, dann auf Einstellungen und dann auf Experteneinstellungen, um das Dropdownfeld Projektmappenkonfigurationen zu aktivieren.
    2. Wählen Sie im Dropdownfeld Projektmappenkonfigurationen der Standardsymbolleiste die Option Konfigurations-Manager aus.
    3. Aktivieren Sie die Kontrollkästchen Erstellen und Bereitstellen.

 

Copyright und Vertraulichkeitserklärungen

Die Informationen in diesem Dokument, einschließlich der Verweise auf URLs und andere Internetwebsites, können ohne Vorankündigung geändert werden. Sofern nichts anderes angegeben ist, sind die Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse in diesen Beispielen frei erfunden. Sämtliche Ähnlichkeiten mit tatsächlichen Firmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten oder Ereignissen sind rein zufällig. Die Benutzer/innen sind verpflichtet, sich an alle anwendbaren Urheberrechtsgesetze zu halten. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt, in einem Datenempfangssystem gespeichert oder darin eingelesen oder übertragen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen usw.) dies geschieht.

Es ist möglich, dass Microsoft Rechte an Patenten, angemeldeten Patenten, Marken, Urheberrechten oder sonstigem geistigen Eigentum besitzt, die sich auf den fachlichen Inhalt dieses Dokuments beziehen. Das Bereitstellen dieses Dokuments gibt Ihnen jedoch keinen Anspruch auf diese Patente, Marken, Urheberrechte oder auf sonstiges geistiges Eigentum, es sei denn, dies wird ausdrücklich in den schriftlichen Lizenzverträgen von Microsoft eingeräumt.

© 2010 Microsoft Corporation. Alle Rechte vorbehalten.

Microsoft Direct3D, DirectX, Expression, Expression Blend, Hyper-V, Internet Explorer, MSDN, Silverlight, Visual Studio, Windows, Windows Phone, Windows Server, Windows Vista, Xbox, Xbox 360, Xbox LIVE, XNA und Zune sind Marken der Microsoft-Unternehmensgruppe.

Alle anderen Marken sind Eigentum der jeweiligen Inhaber.