Udostępnij za pośrednictwem


Debugowanie rozwiązań programu SharePoint

Rozwiązania programu SharePoint można debugować przy użyciu debugera programu Visual Studio. Po rozpoczęciu debugowania program Visual Studio wdraża pliki projektu na serwerze 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 programu SharePoint w programie Visual Studio.

Włączanie debugowania

Podczas pierwszego debugowania rozwiązania programu SharePoint w programie Visual Studio okno dialogowe ostrzega, że plik web.config nie jest skonfigurowany do włączania debugowania. (Plik web.config jest tworzony podczas instalowania serwera programu SharePoint. Aby uzyskać więcej informacji, zobacz Praca z plikami Web.config). Okno dialogowe zawiera opcję uruchamiania projektu bez debugowania lub modyfikowania pliku web.config w celu włączenia debugowania. Jeśli wybierzesz pierwszą opcję, projekt zostanie uruchomiony normalnie. Jeśli wybierzesz drugą opcję, plik web.config jest skonfigurowany do:

  • Włączanie stosu wywołań (CallStack="true")

  • Wyłączanie błędów niestandardowych w programie Visual Studio (<customErrors mode="Off" />)

  • Włączanie debugowania kompilacji (<compilation debug="true">)

    Wynikowy plik web.config jest następujący:

<?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, zmień następujący kod XML w pliku web.config:

  • Wyłączanie stosu wywołań (CallStack="false")

  • Włączanie błędów niestandardowych w programie Visual Studio (<customErrors mode="On" />)

  • Wyłączanie debugowania kompilacji (<compilation debug="false">)

Proces debugowania i wdrażania F5

Po uruchomieniu projektu programu SharePoint w trybie debugowania proces wdrażania programu SharePoint wykonuje następujące zadania:

  1. Uruchamia dostosowywalne polecenia przed wdrożeniem.

  2. Tworzy plik pakietu rozwiązania sieci Web (.wsp) przy użyciu poleceń MSBuild. Plik .wsp zawiera wszystkie niezbędne pliki i funkcje. Aby uzyskać więcej informacji, zobacz Omówienie rozwiązań.

  3. Jeśli rozwiązanie programu SharePoint jest rozwiązaniem farmy, odzyskuje pulę aplikacji USŁUG IIS dla określonego adresu URL witryny. Ten krok zwalnia pliki zablokowane przez proces roboczy usług IIS.

  4. Jeśli poprzednia wersja pakietu już istnieje, wycofa poprzednią wersję funkcji i plików w pliku wsp. Ten krok dezaktywuje funkcje, odinstalowuje pakiet rozwiązania, a następnie usuwa pakiet rozwiązania na serwerze programu SharePoint.

  5. Instaluje bieżącą wersję funkcji i plików w pliku wsp. Ten krok dodaje i instaluje rozwiązanie na serwerze programu SharePoint.

  6. W przypadku przepływów pracy instaluje zestaw przepływu pracy. Lokalizację można zmienić przy użyciu właściwości Lokalizacja zestawu.

  7. Aktywuje funkcję projektu w programie SharePoint, jeśli zakres to Witryna lub Sieć Web. Funkcje w zakresach Farma i WebApplication nie są aktywowane.

  8. W przypadku przepływów pracy kojarzy przepływ pracy z biblioteką programu SharePoint, listą lub witryną wybraną w Kreatorze dostosowywania programu SharePoint.

    Uwaga

    To skojarzenie występuje tylko w przypadku wybrania opcji Automatycznie skojarz przepływ pracy w kreatorze.

  9. Uruchamia dostosowywalne polecenia po wdrożeniu.

  10. Dołącza debuger programu Visual Studio do procesu usług Windows SharePoint Services (w3wp.exe). Jeśli typ projektu umożliwia zmianę właściwości Rozwiązanie w trybie piaskownicy, a jego wartość ma wartość true, debuger dołącza do innego procesu (SPUCWorkerProcess.exe). Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące rozwiązania w trybie piaskownicy.

  11. Uruchamia debuger języka JavaScript, jeśli rozwiązanie programu SharePoint jest rozwiązaniem farmy.

  12. Wyświetla odpowiednią bibliotekę, listę lub stronę witryny w przeglądarce sieci Web.

    Program Visual Studio wyświetla komunikat o stanie w oknie Dane wyjściowe po zakończeniu każdego zadania. Jeśli nie można ukończyć zadania, program Visual Studio wyświetli komunikat o błędzie w oknie Lista błędów.

Funkcje projektu programu SharePoint

Funkcja to przenośna i modułowa jednostka funkcjonalności, która upraszcza modyfikowanie witryn przy użyciu definicji lokacji. Jest to również pakiet elementów programu Windows SharePoint Services (WSS), które można aktywować dla określonego zakresu i które ułatwiają użytkownikom osiągnięcie określonego celu lub zadania. Szablony są wdrażane jako funkcje.

Po uruchomieniu projektu w trybie debugowania proces wdrażania tworzy folder w katalogu funkcji w folderze %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES. Nazwy funkcji mają nazwę projektu formatu_Featurex, takie jak TestProject_Feature1.

Folder rozwiązania w katalogu funkcji zawiera plik definicji funkcji i plik definicji przepływu pracy. Plik definicji funkcji (Feature.xml) opisuje pliki w funkcji projektu. Plik definicji projektu (Elements.xml) opisuje szablon projektu. Elements.xml można znaleźć w Eksplorator rozwiązań, ale Feature.xml jest generowany podczas tworzenia pakietu rozwiązania. Aby uzyskać więcej informacji na temat tych plików, zobacz SharePoint project and project item templates (Szablony projektów i elementów projektu programu SharePoint).

Debugowania przepływów pracy

Podczas debugowania projektów przepływu pracy program Visual Studio dodaje szablon przepływu pracy (w zależności od jego typu) do biblioteki lub listy. Następnie możesz ręcznie uruchomić szablon przepływu pracy lub dodając lub aktualizując element. Następnie możesz użyć programu Visual Studio do debugowania przepływu pracy.

Uwaga

Jeśli dodasz odwołania do innych zestawów, upewnij się, że te zestawy są zainstalowane w globalnej pamięci podręcznej zestawów (GAC). W przeciwnym razie rozwiązanie przepływu pracy zakończy się niepowodzeniem. Aby uzyskać informacje o sposobie instalowania zestawów, zobacz Ręczne uruchamianie przepływu pracy w dokumencie lub elemencie.

Jednak proces wdrażania nie uruchamia przepływu pracy. Musisz uruchomić przepływ pracy z witryny sieci Web programu SharePoint. Przepływ pracy można również uruchomić przy użyciu aplikacji klienckiej, takiej jak Microsoft Office Word 2010, lub przy użyciu oddzielnego kodu po stronie serwera. Użyj jednej z metod określonych w Kreatorze dostosowywania programu SharePoint.

Jeśli na przykład określono, że przepływ pracy można uruchomić ręcznie, uruchom przepływ pracy bezpośrednio z elementu w bibliotece lub na liście. Aby uzyskać więcej informacji na temat ręcznego uruchamiania przepływu pracy, zobacz Ręczne uruchamianie przepływu pracy w elemencie dokumentu.

Debugowanie odbiorników zdarzeń funkcji

Domyślnie po uruchomieniu aplikacji programu Visual Studio SharePoint jej funkcje są automatycznie aktywowane na serwerze programu SharePoint. Jednak powoduje to problemy podczas debugowania odbiorników zdarzeń funkcji, ponieważ gdy funkcja jest aktywowana przez program Visual Studio, jest uruchamiana 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ć automatyczną aktywację funkcji w programie SharePoint i umożliwić prawidłowe debugowanie odbiorników zdarzeń funkcji, ustaw wartość właściwości Active Deployment Configuration projektu na Wartość Brak aktywacji przed debugowaniem. Następnie po rozpoczęciu debugowania aplikacji programu SharePoint w programie Visual Studio ręcznie aktywuj tę funkcję w programie SharePoint. Aby aktywować tę funkcję, otwórz menu Akcje witryny w programie SharePoint, wybierz pozycję Witryna Ustawienia, wybierz link Zarządzaj funkcjami witryny, a następnie wybierz przycisk Aktywuj obok funkcji, aby kontynuować debugowanie w normalny sposób.

Włączanie rozszerzonych informacji o debugowaniu

Ze względu na czasami złożone interakcje między procesem programu Visual Studio (devenv.exe), proces hosta programu Visual Studio SharePoint (vssphost4.exe), program SharePoint i warstwę WCF, diagnozowanie błędów występujących podczas kompilowania, wdrażania i tak dalej może stanowić wyzwanie. Aby ułatwić rozwiązywanie takich błędów, możesz włączyć rozszerzone informacje o debugowaniu. W tym celu 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, utwórz ją ręcznie. Ustaw wartość "EnableDiagnostics" na "1".

Ustawienie tej wartości klucza na 1 powoduje, że informacje śledzenia stosu są wyświetlane w oknie Dane wyjściowe za każdym razem, gdy wystąpią błędy systemu projektu podczas uruchamiania w programie Visual Studio. Aby wyłączyć rozszerzone informacje o debugowaniu, ustaw wartość EnableDiagnostics z powrotem na 0 lub usuń wartość.

Aby uzyskać więcej informacji na temat innych kluczy rejestru programu SharePoint, zobacz Debugowanie rozszerzeń dla narzędzi programu SharePoint w programie Visual Studio.