Voraussetzung

Der erstellte Webpart wird direkt im GAC veröffentlicht.

Vorarbeit

Um überhaupt debuggen zu können, muss zuerst ein Eintrag in der web.config des Servers der SharePoint Seite (z.B. unter c:\inetpub\wwwroot\wss\VirtualDirectories\80) geändert werden. Suchen Sie die Zeile

<compaliaton batch="false" debug ="false">

und ändern Sie den Wert für debug in true:

<compaliaton batch="false" debug ="true">

Anschließend muss der IIS einmal neu gestartet werden (z.B. mit iisreset /noforce).

Durchführung

  1. Programmieren Sie einen Webpart und setzen Sie an entsprechenden Stellen die BreakPoints.
  2. Starten Sie den Debugger über das Menü Debug => Attach to Process (Debuggen => An den Prozess anhängen).

  3. Suchen Sie alle w3wp.exe Prozesse und wählen Sie diese aus. Anschließend auf den Button Attach drücken.

  4. Rufen Sie anschließend auf Ihrer SharePoint-Seite das Webpart auf, z.B. durch eine Aktualisierung der Seite. Visual Studio stoppt beim gesetzten BreakPoint. Sie können nun die Schritte einzeln durchgehen.

Problem

Es ist immer noch nicht möglich ein Projekt (z.B. Webpart) erfolgreich zu kompilieren. Der DLL-Pfad wurde nicht gefunden und das LOG kann nicht geschrieben werden.

Lösung

Die eingegebene Start-URL muss mit der SharePoint-Seite verbunden sein. Ansonsten funktioniert es nicht. Die Prüfung kann dadurch sehr gut vorgenommen werden, in dem Sie die URL im Browser eingeben. Erscheint die Seite, ist alles in Ordnung. Ansonsten müssen Sie die Alternativen Zugriffordnungen für den Intranet-Bereich anpassen. Tragen Sie dort die Adresse ein, die Sie auch in Visual Studio eingegeben haben:

 

Bei der Zentraladministration sollte es wie folgt aussehen:

Problem

Beim kompilieren des ersten Webparts kommt die Meldung:

Error 1    VSeWSS Service Error: Assembly C:\Users\admin\Documents\Visual Studio 2008\Projects\WebPart_Test01\WebPart_Test01\bin\Debug\WebPart_Test01.dll not found. This may occur because the VSeWSS WCF Service does not have local administrator permissions. Please review the release notes. VSeWSS Service Logging Error: Der Zugriff auf den Pfad “Microsoft\VSeWSS 1.3″ wurde verweigert. Logging failed attempting to write to Microsoft\VSeWSS 1.3\VSeWSS1.3 service.log. This may occur because the VSeWSS WCF Service does not have local administrator permissions. Please review the release notes.

Lösung

  1. Prüfen Sie, ob im Internetinformationsdienst (IIS) die Site VSeWSS vorhanden ist:
  2. Prüfen Sie, ob diese Seite dem Anwendungspool der SharePoint Zentraladministration zugeordnet ist (Rechte Maustaste auf Erweiterte Einstellungen):
  3. Fügen Sie anschließend den Netzwerkdienst der Gruppe der Administratoren hinzu:
  4. Starten Sie anschließend den Server neu (ein Neustart des IIS hat bei mir nichts gebracht)

Zielsystem

  • Windows Server 2008 R2
  • SharePoint Office Server 2008 SP2
  • 64bit Architektur

 

Installationsanweisung

  1. Die Entwicklungsumgebung muss auf dem SharePoint Server installiert werden. Eine Installation auf einer lokalen Arbeitsstation ist, soweit mir bekannt ist, nur mit einem sehr großen Aufwand möglich.
  2. Installieren Sie Microsoft Visual Studio 2008 (demnächst auch Visual Studio 2010 möglich, allerdings ändern sich dadurch die zusätzlichen Pakete)
  3. Installation SharePoint Server 2007 SDK: Software Development Kit
  4. Installation Visual Studio 2008 extensions for Windows SharePoint Services 3.0, v1.3 (funktioniert auch für 64bit Systeme)

Anschließend stehen einige Templates und vor allen der Namespace zur Verfügung:

Problem

Es kann vorkommen, dass die Suche im SharePoint nicht funktioniert. In der Ereignisanzeige liest sich folgender Eintrag:

Die Aktualisierung kann nicht gestartet werden, da kein Zugriff auf die Inhaltsquellen möglich ist. Beheben Sie die Fehler, und starten Sie die Aktualisierung erneut.

Oder / und

Zugriff verweigert. Überprüfen Sie, ob das Standardkonto für den Inhaltszugriff Zugriff auf dieses Repository hat, oder fügen Sie eine andernfalls eine Crawlregel zum Crawlen dieses Repositorys hinzu. Wenn das zu crawlende Repository ein SharePoint-Repository ist, überprüfen Sie, ob das verwendete Konto über die Berechtigung ‘Alles Lesen’ für die gecrawlte SharePoint-Webanwendung verfügt. (0×80041205)

Lösung

Prüfen Sie, ob Sie auf dem Server Ihre SharePoint-Seite im Browser aufrufen können. Geben Sie dazu die vollstände URL (z.B. http://www.server.de) an. Bei mir kam eine Fehlermeldung, da ich im IIS eingestellt hatte, dass nur bestimmte IP-Adressen zugelassen sind. Tragen Sie einfach die IP-Adresse des Servers auch als zugelassene IP ein. Zum Testen den Suchserver neu anstoßen.

Ziel

Einen aufgesetzten SharePoint-Server von http auf https Anfragen umstellen und den Port 80 sperren.

Lösung

  1. Zertifikat im IIS installieren.
  2. Zugriffe nur noch über https (Port 443) gestatten (im IIS für den entsprechenden SharePoint z.B. “SharePoint – 80″).
  3. Webanwendung (z.B. “SharePoint – 80″) um den Port 443 erweitern.

In der Zentraladministration unter “Alternative Zugriffsordnung” alle Einträge von http auf https umstellen (z.B. bei der Webanwendung “SharePoint – 80″).

ogtzuq