Debugowanie rozwiązań SharePoint
Rozwiązanie programu SharePoint można debugować za pomocą debugera Visual Studio.Po uruchomieniu debugowania, Visual Studio wdraża pliki projektu na serwer programu SharePoint, a następnie otwiera wystąpienie witryny programu SharePoint w przeglądarce sieci Web.W poniższych sekcjach opisano sposób debugowania aplikacji SharePoint w Visual Studio.
Włączanie debugowania
Debugowanie F5 i Proces wdrażania
Funkcje projektu programu SharePoint
Debugowanie przepływów pracy
Odbiorcy zdarzeń funkcji debugowania
Włączanie rozszerzonych informacji debugowania
Włączanie debugowania
Podczas pierwszego debugowania rozwiązania programu SharePoint, w Visual Studio, okno dialogowe ostrzega, że plik web.config nie jest skonfigurowany do włączenia debugowania. (Plik web.config jest tworzony podczas instalacji programu SharePoint server.Aby uzyskać więcej informacji, zobacz Praca z plikami Web.config.) Okno dialogowe daje możliwość uruchomienia projektu bez debugowania lub modyfikacji pliku web.config w celu włączenia debugowania.W przypadku wybrania pierwszej opcji, projekt jest uruchamiany normalnie.Jeśli wybrana zostanie druga opcja, plik web.config zostanie skonfigurowany aby:
Włączyć stos wywołań (CallStack="true")
Wyłączyć niestandardowe błędy w Visual Studio (<customErrors mode="Off" />)
Włączyć debugowanie kompilacji (<compilation debug="true">)
Wynikowy plik web.config wygląda następująco:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
...
<SharePoint>
<SafeMode MaxControls="200"
CallStack="true"
DirectFileDependencies="10"
TotalFileDependencies="50"
AllowPageLevelTrace="false">
...
</SafeMode>
...
</SharePoint>
<system.web>
...
<customErrors mode="Off" />
...
<compilation debug="true">
...
</compilation>
...
</system.web>
...
</configuration>
Aby odwrócić zmiany i wyłączyć debugowanie, należy zmienić następujące XML w pliku web.config:
Wyłączyć stos wywołań (CallStack="false")
Włączyć niestandardowe błędy w Visual Studio (<customErrors mode="On" />)
Wyłączyć debugowanie kompilacji (<compilation debug="false">)
Debugowanie F5 i Proces wdrażania
Po uruchomieniu projektu programu SharePoint w trybie debugowania, proces wdrażania programu SharePoint wykonuje następujące zadania:
Uruchamia dostosowywane polecenia przedwdrożeniowe.
Tworzy plik pakietu rozwiązań sieci Web (.wsp) przy użyciu polecenia MSBuild.Plik .wsp zawiera wszystkie niezbędne pliki i funkcje.Aby uzyskać więcej informacji, zobacz Przegląd Rozwiązań.
Jeśli rozwiązanie programu SharePoint jest rozwiązaniem farmy, odzyskuje pulę aplikacji IIS dla określonej witryny URL.W tym kroku zwalniane są pliki zablokowane przez proces roboczy IIS.
Jeśli istnieje już poprzednia wersja pakietu, wycofuje poprzednią wersję funkcji i plików umieszczonych w pliku .wsp.W tym kroku funkcje są wyłączane, pakiet rozwiązania odinstalowany, a następnie usuwany na serwerze programu SharePoint.
Instaluje bieżącą wersję funkcji i plików w pliku .wsp.W tym kroku rozwiązanie jest dodawane i instalowane na serwerze programu SharePoint.
Dla przepływów pracy instalowany jest zestaw przepływu pracy.Można zmienić jego lokalizację przy użyciu właściwości Assembly Location.
Uaktywnia funkcję projektu w programie SharePoint, jeśli zakres to Witryna lub sieć Web.Funkcje w zakresach Farma i WebApplication nie są uaktywniane.
Dla przepływów pracy, przepływ pracy zostanie skojarzony z biblioteką programu SharePoint, listą lub witryną, którą wybrano w Kreatorze ustawień niestandardowych SharePoint.
[!UWAGA]
To skojarzenie występuje tylko wtedy, gdy w kreatorze wybrano Automatyczne kojarzenie przepływu pracy.
Uruchamia dostosowywane polecenia powdrożeniowe.
Dołącza debuger Visual Studio do procesu Windows SharePoint Services (w3wp.exe).Jeśli typ projektu umożliwia zmianę właściwości Sandboxed Solution i jej wartość jest ustawiona na true, wtedy debuger dołącza do innego procesu (SPUCWorkerProcess.exe).Aby uzyskać więcej informacji, zobacz Uwagi dotyczące rozwiązania typu piaskownica.
Uruchamia debuger kodu JavaScript, jeśli rozwiązanie programu SharePoint jest rozwiązaniem farmy.
Wyświetla odpowiednią bibliotekę, listę lub stronę witryny w przeglądarce sieci Web.
Po ukończeniu każdego zadania, Visual Studio wyświetla komunikat stanu w oknie Dane wyjściowe.Jeśli nie można ukończyć zadania, Visual Studio wyświetla komunikat o błędzie w oknie Lista błędów.
Funkcje projektu programu SharePoint
Funkcja jest przenośną i modułową jednostką funkcjonalności, która upraszcza modyfikacje witryn przy użyciu definicji witryny.Jest również pakietem elementów Windows SharePoint Services (WSS), który można aktywować dla określonego zakresu i który pomaga użytkownikom w realizacji określonego celu lub zadania.Szablony są wdrażane jako funkcje.
Po uruchomieniu projektu w trybie debugowania, proces wdrażania tworzy folder w katalogu feature w %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES.Nazwy funkcji mają format project name_Featurex, tak jak TestProject_Feature1.
Folder rozwiązania w katalogu funkcji zawiera plik definicji funkcji oraz plik definicji przepływu pracy.Plik definicji funkcji (Feature.xml) opisuje pliki w Funkcji projektu.Plik definicji projektu (Elements.xml) zawiera opis szablonu projektu.Elements.xml można znaleźć w Eksploratorze rozwiązań, ale Feature.xml jest generowany podczas tworzenia pakietu rozwiązania.Aby uzyskać więcej informacji dotyczących tych plików, zobacz Projekt SharePoint oraz szablony elementów projektu.
Debugowanie przepływów pracy
Podczas debugowania projektów przepływu pracy, Visual Studio dodaje szablon przepływu pracy (w zależności od jego typu) do biblioteki lub listy.Można wówczas ręcznie rozpocząć szablon przepływu pracy poprzez dodanie lub aktualizację elementu.Następnie można użyć Visual Studio do debugowania przepływu pracy.
[!UWAGA]
Po dodaniu odwołania do innych zestawów, należy upewnić się, że zestawy te są zainstalowane w Global Assembly Cache (GAC).W przeciwnym razie, rozwiązanie przepływu pracy nie powiedzie się.Aby uzyskać informacje dotyczące sposobu instalowania zestawów, zobacz Ręczne uruchamianie przepływu pracy dla dokumentu lub elementu.
Jednak, proces wdrażania nie można uruchomić przepływu pracy.Przepływ pracy musi zostać uruchomiony z witryny sieci Web programu SharePoint.Można również uruchomić przepływ pracy, przy użyciu aplikacji klienta, takiej jak Microsoft Office Word 2010 lub za pomocą osobnego kodu po stronie serwera.Należy użyć jednej z metod określonych w Kreatorze ustawień niestandardowych SharePoint.
Na przykład, jeśli określono, że przepływ pracy można uruchomić ręcznie, należy uruchomić przepływ pracy bezpośrednio z elementu w bibliotece lub na liście.Aby uzyskać więcej informacji dotyczących sposobu ręcznego uruchamiania przepływu pracy, zobacz Ręczne uruchamianie przepływu pracy dla elementu dokumentu.
Odbiorcy zdarzeń funkcji debugowania
Domyślnie, po uruchomieniu aplikacji Visual Studio SharePoint, jej funkcje są automatycznie aktywowane na serwerze programu SharePoint.Jednakże, powoduje to problemy podczas debugowania odbiorcy zdarzeń funkcji, ponieważ po aktywowaniu funkcji przez Visual Studio, działa ona w innym procesie niż debuger.Oznacza to, że niektóre funkcje debugowania, takie jak punkty przerwania, nie będą działać poprawnie.
Aby wyłączyć automatyczne włączanie funkcji w programie SharePoint i pozwolić na właściwe debugowanie Odbiorców zdarzeń funkcji, należy przed rozpoczęciem debugowania ustawić wartość właściwości projektu Aktywna konfiguracja wdrożenia na Brak aktywacji.Następnie, po uruchomieniu debugowania aplikacji SharePoint w Visual Studio, ręcznie uaktywnić funkcję w programie SharePoint.Aby uaktywnić funkcję, otwórz menu Akcje witryny w programie SharePoint, wybierz Ustawienia witryny, wybierz łącze Zarządzaj funkcjami witryny, a następnie wybierz przycisk Aktywuj obok funkcji, aby kontynuować debugowanie normalnie.
Włączanie rozszerzonych informacji debugowania
Z powodu czasami złożonych wzajemnych interakcji pomiędzy procesem Visual Studio (devenv.exe), procesem hosta programu SharePoint Visual Studio (vssphost4.exe), programem SharePoint i warstwą WCF, diagnozowane błędów występujących podczas kompilacji, wdrażania, i tak dalej może stanowić nie lada wyzwanie.Aby pomóc w rozpoznaniu takich błędów, można włączyć rozszerzone informacje debugowania.Aby to zrobić, przejdź do następującego klucza rejestru w rejestrze systemu Windows:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools]
Jeśli wartość "EnableDiagnostics" REG_DWORD jeszcze nie istnieje, należy utworzyć ją ręcznie.Ustaw wartość "EnableDiagnostics" na "1".
Ustawienie tej wartości klucza na 1 powoduje, że informacje dotyczące śladu stosu pojawią się w oknie Dane wyjściowe gdy wystąpią błędy systemu projektu podczas uruchamiania Visual Studio.Aby wyłączyć rozszerzone informacje debugowania, należy ustawić EnableDiagnostics z powrotem na 0, lub usunąć tą wartość.
Aby uzyskać więcej informacji dotyczących innych kluczy rejestru programu SharePoint, zobacz Debugowanie rozszerzeń dla narzędzi SharePoint w Visual Studio.