Omówienie określania celu struktury

W Visual Studio można określić wersję programu .NET, która ma być docelowa dla projektu. Zastosowanie struktury pomaga zagwarantować, że aplikacja używa tylko funkcji dostępnych w określonej wersji struktury. Aby .NET Framework można było uruchamiać na innym komputerze, wersja struktury, która jest celem aplikacji, musi być zgodna z wersją struktury zainstalowaną na komputerze.

Rozwiązanie Visual Studio może zawierać projekty, które są ukierunkowane na różne wersje programu .NET. Należy jednak pamiętać, że można kompilować tylko dla pojedynczej wersji programu .NET przy użyciu instrukcji warunkowych odwołania dla jednej kompilacji lub rekursywnie kompilować różne pliki binarne dla każdej wersji. Aby uzyskać więcej informacji na temat platform docelowych, zobacz Platform docelowych.

Porada

Można również kierować aplikacje dla różnych platform. Aby uzyskać więcej informacji, zobacz Multitargeting.

Funkcje określania celu struktury

Platformę określania elementów docelowych obejmują następujące funkcje:

  • Po otwarciu projektu, który jest przeznaczony dla starszej wersji struktury, program Visual Studio automatycznie uaktualnić projekt lub pozostawić element docelowy bez jego sytuacji.

  • Podczas tworzenia projektu .NET Framework można określić wersję aplikacji, .NET Framework docelową.

  • Można wybrać wiele platform docelowych w jednym projekcie.

  • Możesz wybrać inną wersję programu .NET w każdym z kilku projektów w tym samym rozwiązaniu.

  • Możesz zmienić wersję programu .NET, która jest celem istniejącego projektu.

    Po zmianie wersji programu .NET, która jest celem projektu, program Visual Studio wszelkie wymagane zmiany w plikach odwołań i konfiguracji.

Podczas pracy nad projektem przeznaczonym dla starszej wersji struktury program Visual Studio dynamicznie zmienia środowisko projektowe w następujący sposób:

  • Filtruje ona elementy w oknie dialogowym Dodawanie nowego elementu, oknie dialogowym Dodawanie nowego odwołania i oknie dialogowym Dodaj odwołanie do usługi w celu pominięcia opcji, które nie są dostępne w wersji docelowej.

  • Filtruje kontrolki niestandardowe w przyborniku, aby usunąć te, które nie są dostępne w wersji docelowej, i wyświetlić tylko najbardziej aktualne kontrolki, gdy dostępnych jest wiele kontrolek.

  • Filtruje ona intelliSense, aby pominąć funkcje językowe, które nie są dostępne w wersji docelowej.

  • Filtruje właściwości w oknie Właściwości, aby pominąć te, które nie są dostępne w wersji docelowej.

  • Filtruje opcje menu, aby pominąć opcje, które nie są dostępne w wersji docelowej.

  • W przypadku kompilacji używa wersji kompilatora i opcji kompilatora, które są odpowiednie dla wersji docelowej.

Uwaga

  • Zastosowanie struktury nie gwarantuje prawidłowego działania aplikacji. Należy przetestować aplikację, aby upewnić się, że jest uruchamiana względem wersji docelowej.
  • Nie można kierować platform do wersji .NET Framework 2.0.

Wybieranie wersji docelowej struktury

Podczas tworzenia projektu .NET Framework można wybrać wersję docelową .NET Framework po wybraniu szablonu projektu. Lista dostępnych platform zawiera zainstalowane wersje struktury, które mają zastosowanie do wybranego typu szablonu. W przypadku szablonów .NET Framework innych niż te, na przykład szablonów .NET Core, lista rozwijana Framework nie jest wyświetlana.

Lista rozwijana Framework w programie VS 2017

Lista rozwijana Framework w programie VS 2019

Zrzut ekranu przedstawiający listę rozwijaną Framework w Visual Studio 2022 r.

Zmienianie struktury docelowej

W istniejącym Visual Basic, C# lub F# zmień docelową wersję .NET w oknie dialogowym właściwości projektu. Aby uzyskać informacje o tym, jak zmienić wersję docelową dla projektów języka C++, zobacz How to modify the target framework and platform toolset instead (Jak zmodyfikować platformę docelową i zestaw narzędzi platformy).

  1. W Eksplorator rozwiązań otwórz menu kontekstowe projektu, który chcesz zmienić prawym przyciskiem myszy, a następnie wybierz polecenie Właściwości.

  2. W lewej kolumnie okna Właściwości wybierz kartę Aplikacja.

    Project właściwości aplikacji

    Uwaga

    Po utworzeniu aplikacji platformy uniwersalnej systemu Windows nie można zmienić docelowej wersji platformy Windows lub .NET.

  3. Z listy Target Framework (Platformę docelową) wybierz wersję, która ma zostać wyświetlona.

  4. W wyświetlonym oknie dialogowym weryfikacji wybierz przycisk Tak.

    Projekt zostaje wyładowany Po ponownym załadowaniu jest on przeznaczony dla wybranej wersji programu .NET.

  1. W Eksplorator rozwiązań otwórz menu kontekstowe projektu, który chcesz zmienić prawym przyciskiem myszy, a następnie wybierz polecenie Właściwości.

  2. W lewej kolumnie okna Właściwości wybierz kartę Aplikacja.

    Uwaga

    Po utworzeniu aplikacji platformy uniwersalnej systemu Windows nie można zmienić docelowej wersji platformy Windows lub .NET.

  3. Z listy Target Framework (Platformę docelową) wybierz wersję, która ma zostać wyświetlona.

    Zrzut ekranu przedstawiający okno dialogowe Project Właściwości .NET Framework wyróżnione opcje.

  4. W wyświetlonym oknie dialogowym weryfikacji wybierz przycisk Tak.

    Projekt zostaje wyładowany Po ponownym załadowaniu jest on przeznaczony dla wybranej wersji programu .NET.

Uwaga

Jeśli kod zawiera odwołania do innej wersji programu .NET niż ta, która jest docelowa, podczas kompilowania lub uruchamiania kodu mogą być wyświetlane komunikaty o błędach. Aby usunąć te błędy, zmodyfikuj odwołania. Zobacz Rozwiązywanie problemów z błędami określania wartości docelowej dla .NET.

Porada

W zależności od struktury docelowej można ją reprezentować w pliku projektu w następujący sposób:

  • W przypadku aplikacji .NET Core: <TargetFramework>netcoreapp2.1</TargetFramework>
  • W przypadku .NET Standard aplikacji: <TargetFramework>netstandard2.0</TargetFramework>
  • W przypadku .NET Framework aplikacji:<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

Rozwiązywanie odwołań do zestawu systemu i użytkownika

Aby określić docelową wersję .NET, należy najpierw zainstalować odpowiednie odwołania do zestawu. Pakiety dewelopera dla różnych wersji programu .NET można pobrać na stronie pobierania programu .NET.

W .NET Framework projektu okno dialogowe Dodawanie odwołania wyłącza zestawy systemowe, które nie odnoszą się do wersji .NET Framework docelowej, dzięki czemu nie mogą zostać przypadkowo dodane do projektu. (Zestawy systemowe są.dll plików uwzględnionych w .NET Framework wersji). Odwołania, które należą do wersji struktury wyższej niż wersja docelowa, nie zostaną rozwiązane i nie można dodać kontrolek zależnych od takiego odwołania. Jeśli chcesz włączyć takie odwołanie, .NET Framework docelowy projekt do takiego, który zawiera odwołanie.

Aby uzyskać więcej informacji na temat odwołań do zestawów, zobacz Resolve assemblies at design time (Rozwiązywanie zestawów w czasie projektowania).

Włączanie LINQ

W przypadku docelowej .NET Framework 3.5 lub nowszej automatycznie dodawane jest odwołanie do pliku System.Core i importowanie na poziomie projektu (tylko w programie System.Linq Visual Basic). Jeśli chcesz używać funkcji LINQ, musisz również włączyć (tylko w Option Infer Visual Basic). Odwołanie i import są usuwane automatycznie, jeśli zmienisz element docelowy na wcześniejszą .NET Framework wersji. Aby uzyskać więcej informacji, zobacz Praca z LINQ.

Zobacz też