Przegląd Ramowego Targetowania
W programie Visual Studio możesz określić wersję platformy .NET, dla której ma być przeznaczony projekt. Określanie platformy pomaga zagwarantować, że aplikacja używa tylko funkcji dostępnych w określonej wersji platformy. Aby aplikacje .NET Framework działały na innym komputerze, wersja platformy przeznaczona dla aplikacji musi być zgodna z wersją platformy zainstalowaną na komputerze.
Rozwiązanie programu Visual Studio może zawierać projekty przeznaczone dla różnych wersji platformy .NET. Należy jednak pamiętać, że można kompilować w oparciu o jedną wersję .NET przy użyciu warunków odwołań dla pojedynczej kompilacji lub utworzyć różne pliki binarne dla każdej platformy docelowej. Aby uzyskać więcej informacji na temat platform docelowych, zobacz Platformy docelowe.
Napiwek
Można również adresować aplikacje na różne platformy. Aby uzyskać więcej informacji, zobacz Multitargeting.
Funkcje określania elementów docelowych platformy
Określanie elementów docelowych platform obejmuje następujące funkcje:
Po otwarciu projektu, który jest przygotowany dla starszej wersji platformy, program Visual Studio może automatycznie uaktualnić projekt lub pozostawić docelową wersję as-is.
Podczas tworzenia projektu programu .NET Framework można określić wersję programu .NET Framework, którą chcesz kierować.
W jednym projekcie można obsługiwać wiele frameworków.
W każdym z kilku projektów w tym samym rozwiązaniu można wybrać inną wersję platformy .NET.
Możesz zmienić wersję platformy .NET, która jest przeznaczona dla istniejącego projektu.
Po zmianie wersji platformy .NET przeznaczonej dla projektu program Visual Studio wprowadza wszelkie wymagane zmiany w odwołaniach i plikach konfiguracji.
Podczas pracy nad projektem, który jest przeznaczony dla starszej wersji platformy, program Visual Studio dynamicznie zmienia środowisko programistyczne w następujący sposób:
Filtruje elementy w oknie dialogowym Dodaj nowy element, oknie dialogowym Dodaj nowe odwołanie oraz oknie dialogowym Dodaj odwołanie do usługi, aby pominąć opcje, które nie są dostępne w wersji docelowej.
Filtruje on kontrolki niestandardowe w przyborniku , aby usunąć te, które nie są dostępne w wersji docelowej i wyświetlać tylko najbardziej up-tokontrolki -date, gdy dostępnych jest wiele kontrolek.
Filtruje IntelliSense, aby pominąć funkcje języka, 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.
Notatka
- Określanie platformy docelowej nie gwarantuje, że aplikacja będzie działać poprawnie. Musisz przetestować aplikację, aby upewnić się, że działa ona w wersji docelowej.
- Nie można wymierzać w wersje .NET Framework niższe niż 2.0.
Zmienianie platformy docelowej
W istniejącym projekcie Visual Basic, C# lub F# zmieniasz docelową wersję platformy .NET w oknie dialogowym właściwości projektu. Aby uzyskać informacje na temat zmiany wersji docelowej dla projektów języka C++, zobacz Jak zmodyfikować docelowy framework i zestaw narzędzi platformy.
W eksploratorze rozwiązań otwórz menu kontekstowe prawym przyciskiem myszy dla projektu, który chcesz zmienić, a następnie wybierz pozycję właściwości .
W lewej kolumnie okna Właściwości wybierz kartę Aplikacja.
Notatka
Po utworzeniu aplikacji platformy UWP nie można zmienić docelowej wersji systemu Windows lub platformy .NET.
Na liście Target Framework wybierz odpowiednią wersję.
W wyświetlonym oknie dialogowym weryfikacji wybierz przycisk Tak.
Projekt się rozładowuje. Podczas ponownego ładowania celuje w wersję .NET, którą właśnie wybrałeś.
W eksploratorze rozwiązań otwórz menu kontekstowe prawym przyciskiem myszy dla projektu, który chcesz zmienić, a następnie wybierz pozycję właściwości .
W lewej kolumnie okna Właściwości wybierz kartę Aplikacja.
Notatka
Po utworzeniu aplikacji platformy UWP nie można zmienić docelowej wersji systemu Windows lub platformy .NET.
Na liście Target Framework wybierz odpowiednią wersję.
W przypadku projektu platformy .NET Frameworkokno dialogowe może wyglądać podobnie do poniższego zrzutu ekranu:
W przypadku projektu .NET okno dialogowe może wyglądać podobnie do poniższego zrzutu ekranu.
Jeśli zostanie wyświetlone okno dialogowe weryfikacji, wybierz przycisk Tak.
Projekt się rozładowuje. Po ponownym załadowaniu następuje wybór wersji .NET, którą właśnie wybrałeś.
Określanie wielu platform docelowych
Za pomocą platformy .NET 5 lub nowszej można utworzyć projekt dla wielu struktur w jednej kompilacji, ręcznie edytując plik projektu. Otwórz plik projektu i zastąp właściwość TargetFramework
wartością TargetFrameworks
i określ listę obiektów Target Framework Monikers (TFMs), rozdzielonych średnikami, jak w poniższym kodzie:
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
Zobacz listę serwerów TFM na stronie Platformy docelowe w projektach w stylu zestawu SDK.
Po wprowadzeniu tej zmiany należy ponownie załadować projekt. Następnie, jeśli otworzysz okno właściwości , na karcie Aplikacja możesz edytować listę platform docelowych.
Notatka
Jeśli kod zawiera odwołania do innej wersji platformy .NET niż docelowa, komunikaty o błędach mogą pojawić się podczas kompilowania lub uruchamiania kodu. Aby rozwiązać te błędy, zmodyfikuj odwołania. Zobacz Rozwiązywanie problemów z błędami docelowania platformy .NET.
Napiwek
W zależności od platformy docelowej można ją przedstawić na następujące sposoby w pliku projektu:
- W przypadku aplikacji .NET Core:
<TargetFramework>netcoreapp2.1</TargetFramework>
- W przypadku aplikacji .NET Standard:
<TargetFramework>netstandard2.0</TargetFramework>
- W przypadku aplikacji .NET Framework:
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
Wybieranie wersji platformy docelowej
Podczas tworzenia projektu programu .NET Framework możesz wybrać docelową wersję programu .NET Framework po wybraniu szablonu projektu. Lista dostępnych struktur zawiera zainstalowane wersje platform, które mają zastosowanie do wybranego typu szablonu. W przypadku szablonów projektów platformy non-.NET Framework, na przykład szablonów platformy .NET Core lista rozwijana Framework nie jest wyświetlana.
Jeśli zdecydujesz się utworzyć projekt .NET Framework, zobaczysz interfejs podobny do poniższego zrzutu ekranu:
Jeśli zdecydujesz się utworzyć projekt platformy .NET, zobaczysz interfejs użytkownika podobny do poniższych dwóch zrzutów ekranu.
Pierwszym wyświetlonym ekranem jest okno dialogowe Konfigurowanie nowego projektu.
Drugi ekran, który zobaczysz, to okno dialogowe Dodatkowe opcje.
Rozwiązywanie odwołań do zestawów systemowych i użytkownika
Aby ustawić docelową wersję platformy .NET, najpierw musisz zainstalować odpowiednie odwołania do zestawów. Na stronie pobierania .NET można pobrać pakiety deweloperskie dla różnych wersji .NET.
W projektach .NET Framework, okno dialogowe Dodaj odwołanie wyłącza zestawy systemowe, które nie są zgodne z docelową wersją platformy .NET Framework, aby nie można było ich przypadkowo dodać do projektu. (Zestawy systemowe są plikami .dll dołączonymi do wersji programu .NET Framework). Odwołania należące do wersji struktury, która jest wyższa niż wersja docelowa, nie zostaną rozwiązane, a nie można dodać kontrolek, które zależą od takiego odwołania. Jeśli chcesz włączyć takie odwołanie, zmień docelową wersję platformy .NET Framework projektu na wersję uwzględniającą te odwołania.
Aby uzyskać więcej informacji na temat odwołań do zestawów, zobacz Rozwiązywanie zestawów podczas projektowania.
Włączanie LINQ
Gdy celujesz w .NET Framework 3.5 lub nowszy, automatycznie dodawane jest odwołanie do System.Core oraz import na poziomie projektu dla System.Linq (tylko w Visual Basic). Jeśli chcesz używać funkcji LINQ, musisz również włączyć Option Infer
(tylko w języku Visual Basic). Odwołanie i importowanie są usuwane automatycznie, jeśli zmienisz element docelowy na starszą wersję programu .NET Framework. Aby uzyskać więcej informacji, zobacz Praca z LINQ .
Zobacz też
- Platformy docelowe
- wielowersyjność (MSBuild)
- Instrukcje: modyfikowanie platformy docelowej i zestawu narzędzi platformy (C++)