Udostępnij za pośrednictwem


Walidacja kodu przy użyciu diagramów warstwy

Aby upewnić się, że kod nie koliduje z jego projekt, można sprawdzić poprawność kodu z diagramami warstwy w Visual Studio Ultimate i Visual Studio Premium.Może to ułatwić:

  • Znajdowanie konfliktów między zależności w kodzie i zależności na diagramie warstwy.

  • Znajdź zależności, które mogą mieć wpływ proponowanych zmian.

    Na przykład można edytować na diagramie warstwy, Pokaż potencjalnych zmian architektury i następnie sprawdzić poprawności kod, aby wyświetlić zależności usterce.

  • (Diagnostyka) lub migrację kodu do inny projekt.

    Znajdź kod lub zależności, które wymagają pracy, po przeniesieniu kod do innej architektury.

Można sprawdzić poprawność kodu ręcznie z diagramu warstwy otwarte w programie Visual Studio lub z wiersza polecenia.Kod można zweryfikować automatycznie podczas uruchamiania lokalnego buduje lub Team Foundation Build.Zobacz kanału 9 wideo: projektowania i sprawdzenia poprawności architektury przy użyciu diagramów warstwy.

Wymagania

  • Wizualne premii Studio Ultimate lub Visual Studio

  • Rozwiązanie, które ma projekt modelowania z diagramu warstwy.Ten diagram warstwy muszą być połączone z artefaktów w Visual C# .NET lub języka Visual Basic .NET projektów, które chcesz sprawdzić.Zobacz Tworzenie diagramów warstwy na podstawie kodu.

Aby

  • Czy element obsługuje sprawdzanie poprawności

  • Zawierać innych zestawów .NET i projektów do sprawdzania poprawności

  • Ręczne sprawdzanie poprawności kodu

  • Automatyczne sprawdzanie poprawności kodu

  • Rozwiązywanie problemów z problemy związane z warstwą sprawdzania poprawności

  • Zrozumienie i usuwanie błędów sprawdzania poprawności warstwy

Czy element obsługuje sprawdzanie poprawności

  1. Na diagramie warstwy, wybierz jedną lub więcej warstw, kliknij prawym przyciskiem myszy zaznaczenie, a następnie kliknij Łączy View.

  2. W Explorer warstwy, spójrz na Obsługuje sprawdzanie poprawności kolumny.Jeśli wartością jest false, element nie obsługuje sprawdzania poprawności.

Można połączyć witryn sieci Web, dokumentów pakietu Office, a nie będzie je zawierają, pliki ze zwykłym tekstem do warstwy, ale proces sprawdzania poprawności.Błędy sprawdzania poprawności nie pojawi się odwołań do projektów lub zespołów, które są połączone na osobnych warstwach, gdy pojawią się żadnych zależności między te warstwy.Odniesienia te nie są uważane za zależności, chyba że w kodzie wykorzystano te odwołania.

Zawierać innych zestawów .NET i projektów do sprawdzania poprawności

Podczas przeciągania elementów do diagramu warstwy odniesienia do odpowiednich zestawów .NET lub projekty są dodawane automatycznie do Warstwę odniesienia folderu w programie project modelowania.Ten folder zawiera odwołania do zestawów i projekty, które są analizowane w czasie sprawdzania poprawności.Bez ręcznie przeciągając je do diagramu warstwy mogą być inne zestawów .NET i projekty do sprawdzania poprawności.

  1. W Solution Explorer, kliknij prawym przyciskiem myszy projekt modelowania lub Warstwę odniesienia folder, a następnie kliknij przycisk Dodaj odwołanie.

  2. W Dodaj odwołanie okno dialogowe, wybierz zespoły lub projektów, a następnie kliknij OK.

Ręczne sprawdzanie poprawności kodu

Jeśli diagram otwarte warstwy, połączonej z elementy rozwiązania, można uruchomić sprawdzania poprawności polecenia skrót z diagramu.Można również użyć wiersza polecenia do uruchomienia msbuild z /p:ValidateArchitecture zestaw właściwości niestandardowych do True.Na przykład po wprowadzeniu zmian w kodzie, poprawności warstwy regularnie tak, aby wychwycić zależność konflikty wcześnie.

Aby sprawdzić poprawność kodu z diagramu otwarte warstwy

  1. Kliknij prawym przyciskiem myszy diagram, a następnie kliknij przycisk Sprawdzania poprawności architektury.

    [!UWAGA]

    Domyślnie Tworzenie akcji właściwość na warstwie pliku diagramu (.layerdiagram) jest ustawiona na sprawdzania poprawności tak, aby włączyć diagramu w trakcie tego procesu.

    Lista błędów okno raportuje wszystkie błędy.Aby uzyskać więcej informacji o błędach sprawdzania poprawności, zobacz Understand and resolve warstwy błędy sprawdzania poprawności.

  2. Aby wyświetlić źródło każdego błędu, kliknij dwukrotnie błąd w Lista błędów okna.

    [!UWAGA]

    Visual Studiopokazuje wykres zależności zamiast źródła błędu.Dzieje się tak, gdy kod ma zależności to zespół, który nie jest określony przez diagram warstwy albo kod brakuje zależność, która jest określona przez diagram warstwy.Opisz wykres zależności lub kod, aby stwierdzić, czy zależność powinny.Aby uzyskać więcej informacji o zależnościach wykresy, zobacz Wizualizacja zależności kodu na wykresach zależności.

  3. Aby zarządzać błędów, zobacz błędy sprawdzania poprawności Zarządzaj.

Aby sprawdzić poprawność kodu w wierszu polecenia

  1. Otwórz Visual Studio wiersza polecenia.

  2. Wybierz jedną z następujących czynności:

    • Aby sprawdzić poprawność kodu przeciwko projektu określonego modelowania w roztworze, uruchom MSBuild z następujących właściwości niestandardowej.

      msbuild <FilePath+ModelProjectFileName>.modelproj /p:ValidateArchitecture=true
      

      - lub -

      Przejdź do folderu, który zawiera modelowania pliku (.modelproj) i na diagramie warstwę projektu, a następnie uruchom MSBuild z następujących właściwości niestandardowych:

      msbuild /p:ValidateArchitecture=true
      
    • Aby sprawdzić poprawność kodu z wszystkich projektów modelowania w roztworze, uruchom MSBuild z następujących właściwości niestandardowych:

      msbuild <FilePath+SolutionName>.sln /p:ValidateArchitecture=true 
      

      - lub -

      Przejdź do folderu roztworu, który musi zawierać projekt modelowania, zawierający diagram warstwy, a następnie uruchom MSBuild z następujących właściwości niestandardowych:

      msbuild /p:ValidateArchitecture=true 
      

    Zostaną wyświetlone wszystkie błędy.Aby uzyskać więcej informacji o MSBuild, zobacz Program MSBuild i Zadanie programu MSBuild.

Aby uzyskać więcej informacji o błędach sprawdzania poprawności, zobacz Understand and resolve warstwy błędy sprawdzania poprawności.

Dd409395.collapse_all(pl-pl,VS.110).gifZarządzaj błędy sprawdzania poprawności

W trakcie rozwoju można pominąć niektóre z raportowaną konfliktów podczas sprawdzania poprawności.Na przykład możesz chcieć Pomiń błędy, które są już adresowania lub które nie są istotne dla danego scenariusza określonego.Gdy zablokujesz błąd to dobrej praktyki, aby zalogować się elementu pracy Team Foundation.

Aby utworzyć element pracy dla błędu sprawdzania poprawności

  • W Lista błędów okna, kliknij prawym przyciskiem myszy błąd, należy wskazać Utwórz element pracy, a następnie kliknij typ elementu pracy, który ma zostać utworzony.

Użyj tych zadań do zarządzania błędy sprawdzania poprawności w Lista błędów okno:

Aby

Wykonaj następujące kroki

Pomiń wybranego błędy podczas sprawdzania poprawności

Kliknij prawym przyciskiem myszy jeden lub wiele błędów wybranych, wskaż polecenie Zarządzanie błędy sprawdzania poprawności, a następnie kliknij przycisk Pomija błędy.

Stłumiona błędy są wyświetlane z przekreśleniem.Po uruchomieniu sprawdzania poprawności podczas następnego, błędy te nie pojawią się.

Stłumiona błędy są śledzone w pliku .suppressions dla odpowiedniego pliku diagramu warstwy.

Zatrzymaj, pomijanie wybranych błędy

Kliknij prawym przyciskiem myszy wybrane tłumione błąd lub błędy, należy wskazać Zarządzanie błędy sprawdzania poprawności, a następnie kliknij przycisk Błędów Stop pomijanie.

Wybrane błędy tłumione pojawi się po uruchomieniu sprawdzania poprawności podczas następnego.

Przywróć wszystkie tłumione błędów w Lista błędów okno

Kliknij prawym przyciskiem myszy Lista błędów okna, wskaż polecenie Zarządzanie błędy sprawdzania poprawności, a następnie kliknij przycisk Pokaż wszystkie błędy stłumione.

Ukryj wszystkie tłumione błędy z Lista błędów okno

Kliknij prawym przyciskiem myszy Lista błędów okna, wskaż polecenie Zarządzanie błędy sprawdzania poprawności, a następnie kliknij przycisk Ukryj wszystkie błędy stłumione.

Automatyczne sprawdzanie poprawności kodu

Można sprawdzana poprawność warstwę każdym uruchomieniu lokalnego kompilacji.Jeśli Twój zespół używa Team Foundation Build, można wykonać sprawdzania poprawności warstwy z bramą wyboru typu plug-in, które można określić, tworząc niestandardowe zadanie programu MSBuild i użyj tworzenia raportów do zbierania błędów sprawdzania poprawności. Aby utworzyć bramkowy buduje wyboru, zobacz Zdefiniowanie procesu Gated kompilacji wyboru, aby zatwierdzić zmiany.

Aby sprawdzić poprawność kodu automatycznie podczas operacji budowania lokalnej

  • Otwórz projekt modelowania (.modelproj) za pomocą edytora tekstu plik, a następnie dołączyć następującą właściwość:
<ValidateArchitecture>true</ValidateArchitecture>

- lub -

  1. W Solution Explorer, kliknij prawym przyciskiem myszy projekt modelowania, który zawiera warstwy diagramu lub diagramów, a następnie kliknij przycisk Właściwości.

  2. W Właściwości okno, ustawić projektu modelowania Sprawdzania poprawności architektury właściwość, aby True.

    Dotyczy to projektów modelowania w trakcie tego procesu.

  3. W Solution Explorer, kliknij plik diagramu (.layerdiagram) warstwy, którego chcesz używać do sprawdzania poprawności.

  4. W Właściwości okna, upewnij się, że na diagramie Tworzenie akcji właściwość jest ustawiona na sprawdzania poprawności.

    Dotyczy to na diagramie warstwy w trakcie tego procesu.

Aby zarządzać błędy w oknie Lista błędów, zobacz Zarządzanie błędy sprawdzania poprawności.

Aby sprawdzić poprawność kodu automatycznie podczas budowania Foundation Team

  1. W Explorer zespołu, kliknij dwukrotnie definicję kompilacji, a następnie kliknij procesu.

  2. W obszarze parametrów procesu kompilacji, rozwiń węzeł kompilacjii wpisz co następuje w Argumenty MSBuild parametr:

    /p:ValidateArchitecture = true

Aby uzyskać więcej informacji o błędach sprawdzania poprawności, zobacz Understand and resolve warstwy błędy sprawdzania poprawności.Aby uzyskać więcej informacji o Team Foundation Build, zobacz:

Rozwiązywanie problemów z problemy związane z warstwą sprawdzania poprawności

W poniższej tabeli opisano problemy związane z warstwą sprawdzania poprawności i ich rozwiązywania.Te problemy różnią się od błędów, które wynikają z konfliktu między kod i projekt.Aby uzyskać więcej informacji na temat tych błędów, zobacz Understand and resolve warstwy błędy sprawdzania poprawności.

Problem

Możliwa przyczyna

Rozwiązanie

Błędy sprawdzania poprawności nie pojawiają się zgodnie z oczekiwaniami.

Sprawdzanie poprawności nie działa na diagramach warstwy, które są kopiowane z innych diagramach warstwy w oknie Solution Explorer i które są w tym samym projekcie modelowania.Diagramy warstwy, które są kopiowane w ten sposób zawierają tych samych odniesień, co oryginalny diagram warstwy.

  1. Dodaj nowy diagram warstwy do projektu modelowania.

  2. Kopiowanie elementów z diagramu warstwy źródłowego do nowego diagramu.

Opis i rozwiązywanie błędów sprawdzania poprawności warstwy

Podczas sprawdzania poprawności kodu z diagramu warstwy, błędy sprawdzania poprawności wystąpić, gdy kod, który powoduje konflikt z projektem.Na przykład następujące warunki mogą powodować błędy sprawdzania poprawności:

  • Artefakty zostanie przypisany do warstwy nie tak.W takim przypadku należy przenieść artefakt.

  • Artefakty, takie jak class, używa innej klasy w sposób sprzeczny z Twojej architektury.W takim przypadku refaktoringu kodu w celu usunięcia zależności.

Aby usunąć te błędy, należy zaktualizować kod, dopóki nie ma więcej błędów nie pojawią się podczas sprawdzania poprawności.To zadanie można wykonać w sposób iteracyjną.

Poniższej sekcji opisano składnię, który jest używany w tych błędów, wyjaśniono znaczenie tych błędów i wskazuje, co można zrobić, aby rozwiązać lub zarządzać nimi.

Składnia

Opis

ArtifactN(ArtifactTypeN)

ArtifactN jest skojarzony z warstwą na diagramie warstwy artefakty.

ArtifactTypeN jest typem ArtifactN, takich jak klasy lub Metoda, na przykład:

MySolution.MyProject.MyClass.MyMethod(Method)

NamespaceNameN

Nazwa obszaru nazw.

LayerNameN

Nazwa warstwy na diagramie warstwy.

DependencyType

Typ relacji zależności między Artifact1 i Artifact2.Na przykład Artifact1 ma wywołania relacji z Artifact2.

Błąd składni

Opis błędu

AV0001: Nieprawidłowa zależność: Artifact1(ArtifactType1)--> Artifact2(ArtifactType2)

   Warstwy: LayerName1, LayerName2 | Zależności: DependencyType

Artifact1 w LayerName1 nie powinno mieć zależność na Artifact2 w LayerName2 ponieważ LayerName1 nie ma bezpośredniej zależności LayerName2.

AV1001: Nieprawidłowy obszar nazw: artefakt

   Warstwy: LayerName | Wymagany obszar nazw: NamespaceName1 | Bieżącego obszaru nazw: NamespaceName2

LayerName wymaga się, że jego skojarzony artefakty musi należeć do NamespaceName1.Artefakt znajduje się w NamespaceName2, a nie NamespaceName1.

AV1002: Zależy od nazw zakazanych: Artifact1(ArtifactType1) | Artifact2(ArtifactType2)

   Warstwy: LayerName | Obszar nazw zakazanych: NamespaceName | Zależności: DependencyType

LayerName wymaga się, że jego skojarzony artefakty nie zależy od NamespaceName.Artifact1 nie może zależeć od Artifact2 ponieważ Artifact2 znajduje się w NamespaceName.

AV1003: W obszarze nazw zakazanych: artefaktu(ArtifactType)

   Warstwy: LayerName | Obszar nazw zakazanych: NamespaceName

LayerName wymaga się, że jego skojarzony artefakty nie mogą należeć do NamespaceName.Artefakt należy do NamespaceName.

AV3001: brakujące łącze: warstwy "LayerName"łączy się"artefaktu" którego nie można odnaleźć.Czy brakuje odwołania zestawu?

LayerName łączy do artefaktu, którego nie można odnaleźć.Na przykład łącze do klasy może brakować ponieważ projektu modelowania brakuje odwołania do zestawu, który zawiera klasę.

AV9001: Architektoniczne znalezione błędy wewnętrzne.Wyniki mogą być niepełne.Aby uzyskać więcej informacji zobacz dziennik zdarzeń szczegółowe kompilacji lub okna dane wyjściowe.

Zobacz dziennik zdarzeń kompilacji lub okno dane wyjściowe więcej szczegółów.

Zobacz też

Koncepcje

Walidacja systemu w czasie projektowania