Gewusst wie: Festlegen des richtigen Zielframeworks und der CPU

Letzte Änderung: Freitag, 30. April 2010

Gilt für: SharePoint Foundation 2010

In diesem Thema wird erläutert, wie das richtige Microsoft .NET Framework als Ziel und die richtige CPU-Zielplattform für Ihre Microsoft SharePoint Foundation-Entwicklungsprojekte in Microsoft Visual Studio festgelegt werden.

Zielregeln

Die Regeln für das Festlegen von Microsoft .NET Framework als Ziel und der CPU-Plattform lauten wie folgt:

  • Alle Visual Studio-Projekte, die entweder im Client- oder Serverobjektmodell von SharePoint Foundation entwickelt werden, müssen auf Microsoft .NET Framework 3.5 als Zielframework festgelegt sein. Diese Regel gilt auch, wenn der Visual Studio-Projekttyp keiner der SharePoint 2010-Projekttypen ist.

  • Für alle Visual Studio-Projekte, die im Serverobjektmodell von SharePoint Foundation entwickelt werden, und damit auch für alle SharePoint 2010-Projekttypen müssen x64 oder Any CPU als CPU-Zielplattform festgelegt werden. Jede dieser Optionen hat Vor- und Nachteile.

    • x64 ist die genauere Option, da eine Projektmappe, die im SharePoint Foundation-Serverobjektmodell erstellt wurde, nicht "jede beliebige" CPU als Ziel haben kann. Wenn Sie jedoch x64 als Ziel verwenden möchten, müssen Sie das Verfahren mit dem Titel So aktivieren Sie x64 als CPU-Plattformziel (weiter hinten in diesem Thema) für jede Visual Studio-Projektmappe wiederholen, die x64 als Ziel verwendet. Da einige häufig aufgerufene Microsoft-Assemblys wie System.Data.dll und mscorlib.dll für Any CPU kompiliert sind, werden möglicherweise Compilerwarnungen (keine Fehler) ausgegeben, dass eine referenzierte Assembly einen anderen Prozessor als Ziel hat.

    • Any CPU ist die einfachste Option, da sie immer verfügbar ist und ihre Aktivierung kein spezielles Verfahren erfordert. Sie ist jedoch ein wenig irreführend, da sie fälschlicherweise den Eindruck erweckt, als könnte die resultierende Assembly auf einem x86-Computer verwendet werden. Darüber hinaus können Assemblys, die für Any CPU erstellt wurden, möglicherweise mehr Datenträgerspeicher benötigen als Assemblys, die für x64 erstellt wurden.

    VorsichtVorsicht

    Beim Festlegen eines Projekts, das das Serverobjektmodell zum x86-CPU-Plattformziel führt, muss nicht immer ein Compilerfehler generiert werden. Es können jedoch Laufzeitfehler und unerwartetes Verhalten zur Laufzeit auftreten. Code mit einem Verweis auf das SharePoint Foundation-Objekt SPFarm gibt beispielsweise null zurück, und Code mit einem Verweis auf untergeordnete Objekte, wie die Webanwendung, geben Ausnahmen vom Typ FileNotFoundException aus.

  • Ein im Clientobjektmodell entwickeltes Visual Studio-Projekt sollte in der Regel auf Any CPU als CPU-Zielplattform festgelegt sein, da die Clientanwendungen typischerweise auf x86- und x64-Computern ausgeführt werden sollen. Sie können jedoch x86 oder x64 angeben, falls die Anwendung nur auf einer Art von Clientcomputer ausgeführt werden soll. Für x64 als Ziel müssen Sie die Schritte im Verfahren So aktivieren Sie x64 als CPU-Plattformziel weiter hinten in diesem Thema ausführen.

  • Eine Visual Studio-Projektmappe kann mehrere Projekte enthalten. Und in derselben Projektmappe können SharePoint 2010-Projekttypen und andere Projekte enthalten sein, die keine SharePoint 2010-Projekttypen sind. Falls ein SharePoint 2010-Projekt auf ein Projekt eines anderen Typs verweist, oder umgekehrt, müssen sie dieselbe CPU-Zielplattform besitzen. Wenn es sich bei der Lösung z. B. um eine Konsolenanwendung handelt, die auf SharePoint Foundation-Servern ausgeführt wird, können Sie die Funktion der automatischen Bereitstellung und Zurückziehung der SharePoint 2010-Projekttypen verwenden. In diesem Fall kann die Visual Studio-Projektmappe ein Leeres SharePoint-Projekt und ein Projekt vom Typ Konsolenanwendung besitzen. Sie fügen die ausführbare Datei der Konsolenanwendung dem Paket des SharePoint-Projekts hinzu, indem Sie das Feature zum Hinzufügen weiterer Assemblys der Registerkarte Erweitert des Fensters mit den Paketeigenschaften verwenden. Wenn Sie das Projekt Konsolenanwendung hinzufügen, wird standardmäßig x86 als CPU-Zielplattform verwendet, für das Leere SharePoint-Projekt wird jedoch (wie bei allen SharePoint 2010-Projekttypen) standardmäßig Any CPU verwendet. Nachdem Sie dem Paket die ausführbare Datei hinzugefügt haben, wird ein Compilerfehler ausgegeben, bis die beiden Projekte auf dieselbe CPU-Zielplattform festgelegt werden. Entweder müssen Sie das Ziel der Konsolenanwendung auf Any CPU ändern oder beide Projekte auf x64 als Ziel festlegen.

So aktivieren Sie x64 als CPU-Plattformziel

  1. Nachdem das Projekt erstellt wurde, öffnen Sie auf der Visual Studio-Symbolleiste das Dropdown-Listenfeld Projektmappenplattform.

  2. Klicken Sie auf Konfigurations-Manager.

  3. Öffnen Sie im Dialogfeld Konfigurations-Manager das Dropdown-Listenfeld Aktive Projektmappenplattform, und klicken Sie auf <Neu> ….

  4. Wählen Sie im Dialogfeld Neue Projektmappenplattform die Option x64 aus dem Dropdown-Listenfeld Neue Plattform eingeben oder auswählen aus.

  5. Wählen Sie x86 aus dem Dropdown-Listenfeld Einstellungen kopieren von aus.

  6. Klicken Sie auf OK.

  7. Stellen Sie im Dialogfeld Konfigurations-Manager sicher, dass das Feld in der Spalte Erstellen für alle Projekte in der Projektmappe aktiviert ist.

  8. Klicken Sie auf Schließen.