Udostępnij za pośrednictwem


Konfigurowanie projektów na platformach docelowych

Program Visual Studio umożliwia konfigurowanie kompilacji aplikacji na różnych platformach docelowych (architekturach procesora), w tym Arm64 i innych platformach. Nie musisz uruchamiać programu Visual Studio na platformie, aby utworzyć dla tej platformy docelowej. Aby uzyskać więcej informacji na temat obsługi arm64 w programie Visual Studio, zobacz Visual Studio na urządzeniach opartych na usłudze ARM. Aby uzyskać obsługę 64-bitowej platformy na potrzeby programowania na platformie .NET, zobacz aplikacje 64-bitowe.

Uwaga

Program Visual Studio 2022 działa jako aplikacja 64-bitowa. Jest to całkowicie oddzielone od platform, które można kierować do projektów w programie Visual Studio. Każdą wersję programu Visual Studio można użyć do kierowania zarówno na platformy 32-bitowe, jak i 64-bitowe.

Program Visual Studio umożliwia konfigurowanie kompilacji aplikacji pod kątem różnych platform (architektur procesorów), takich jak x86 i x64. Aby uzyskać obsługę 64-bitowej platformy na potrzeby programowania na platformie .NET, zobacz aplikacje 64-bitowe.

Uwaga

Program Visual Studio działa jako aplikacja 32-bitowa. Jest to całkowicie oddzielone od platform, które można kierować do projektów w programie Visual Studio. Każdą wersję programu Visual Studio można użyć do kierowania zarówno na platformy 32-bitowe, jak i 64-bitowe.

Platformy docelowe z programem Configuration Manager

Program Configuration Manager umożliwia szybkie dodawanie nowej platformy do celu w projekcie. Jeśli wybierzesz jedną z platform dołączonych do programu Visual Studio, zostanie skonfigurowana konfiguracja umożliwiająca skompilowanie projektu dla wybranej platformy.

Aby zakierować niektóre platformy w natywnym projekcie języka C++, należy zainstalować narzędzia kompilacji dla platformy. Narzędzia kompilacji języka C++ dla platform x86 i x64 są instalowane z domyślnym obciążeniem języka C++. Jeśli używasz innej architektury procesora, takiej jak Arm64, musisz użyć Instalator programu Visual Studio, aby zainstalować narzędzia kompilacji dla platformy przed kontynuowaniem. Zobacz Modyfikowanie programu Visual Studio. Nie musisz uruchamiać programu Visual Studio na urządzeniu arm64, aby był przeznaczony dla arm64. W przypadku usługi Arm64 można zainstalować narzędzia kompilacji Arm64 lub narzędzia kompilacji ARM64EC ; zobacz Arm64 Visual Studio.

W przypadku programowania na platformie .NET platforma .NET 6 lub nowsza jest wymagana do kierowania platformy Arm64. Zobacz Obsługa platformy .NET dla systemów macOS 11 i Windows 11 dla systemów Arm64 i x64.

Aby skonfigurować projekt przeznaczony dla platform Arm64 i innych platform

  1. Na pasku menu wybierz pozycję Kompiluj>program Configuration Manager.

  2. Na liście Aktywne platformy rozwiązań wybierz platformę, która ma być rozwiązaniem docelowym, a następnie wybierz przycisk Zamknij .

    1. Jeśli wybrana platforma nie jest wyświetlana na liście Aktywne platformy rozwiązania, wybierz pozycję Nowy. Po zainstalowaniu narzędzi dla określonej platformy będzie można dodać nowe rozwiązanie i konfiguracje projektu przeznaczone dla tej platformy.

      Zostanie wyświetlone okno dialogowe Nowa platforma rozwiązania.

    2. Na liście Typ lub wybierz nową platformę, wybierz odpowiednią platformę (architekturę procesora), na przykład ARM64.

      Zrzut ekranu przedstawiający wybieranie nowej platformy.

      Uwaga

      Jeśli nadasz konfiguracji nową nazwę, może być konieczne zmodyfikowanie ustawień w programie Project Projektant w celu kierowania odpowiedniej platformy.

    3. Jeśli chcesz skopiować ustawienia z bieżącej konfiguracji platformy, wybierz je, a następnie wybierz przycisk OK .

Zrzut ekranu przedstawiający nową platformę rozwiązania i platformę projektu

Aby skonfigurować projekt przeznaczony dla innej platformy

  1. Na pasku menu wybierz pozycję Kompiluj>program Configuration Manager.

  2. Na liście Aktywne platformy rozwiązań wybierz platformę, która ma być rozwiązaniem docelowym, a następnie wybierz przycisk Zamknij .

    1. Jeśli wybrana platforma nie jest wyświetlana na liście Aktywne platformy rozwiązania, wybierz pozycję Nowy. Po zainstalowaniu narzędzi dla określonej platformy będzie można dodać nowe rozwiązania i konfiguracje projektu przeznaczone dla tej platformy.

      Zostanie wyświetlone okno dialogowe Nowa platforma rozwiązania.

    2. Na liście Typ lub wybierz nową platformę, wybierz odpowiednią platformę (architekturę procesora), na przykład x64.

      Uwaga

      Jeśli nadasz konfiguracji nową nazwę, może być konieczne zmodyfikowanie ustawień w programie Project Projektant w celu kierowania odpowiedniej platformy.

    3. Jeśli chcesz skopiować ustawienia z bieżącej konfiguracji platformy, wybierz je, a następnie wybierz przycisk OK .

Uwaga

Nazwa platformy Win32 jest używana dla projektów języka C++ i oznacza x86. Program Visual Studio uwzględnia zarówno platformy na poziomie projektu, jak i platformy na poziomie rozwiązania, a platformy projektów pochodzą z systemów projektów specyficznych dla języka. Projekty języka C++ używają systemów Win32 i x64, ale platformy rozwiązań korzystają z platform x86 i x64. Po wybraniu wersji x86 jako konfiguracji rozwiązania program Visual Studio wybiera platformę Win32 dla projektów języka C++. Aby wyświetlić ustawienia platformy na poziomie projektu i platformy na poziomie rozwiązania, otwórz program Configuration Manager i zanotuj dwa ustawienia platformy. Platforma na poziomie rozwiązania jest wyświetlana na liście rozwijanej Aktywna platforma rozwiązania, a tabela przedstawia platformę na poziomie projektu dla każdego projektu. Zrzut ekranu przedstawiający platformę rozwiązania i platformę projektu

Platformy docelowe w interfejsie użytkownika właściwości projektu Projektant lub projektu

Interfejs użytkownika właściwości projektu Projektant lub projektu umożliwia również określanie lokalizacji docelowej różnych platform w projekcie. Jeśli wybranie jednej z platform znajdujących się na liście w oknie dialogowym Nowa platforma rozwiązania nie będzie działać dla danego rozwiązania, możesz utworzyć niestandardową nazwę konfiguracji i zmodyfikować ustawienia we właściwościach projektu, aby określić poprawną platformę.

Wykonanie tego zadania zależy od używanego języka programowania. Aby uzyskać więcej informacji, zobacz następujące linki:

Preferuj ustawienie 32-bitowe

Ustawienie Preferuj 32-bitowe na stronie Kompilacja projektanta projektu dla projektów .NET Framework 4.5 lub nowszych obsługuje przypadek, w którym tworzysz AnyCPU konfigurację, ale chcesz, aby aplikacja była uruchamiana w trybie 32-bitowym, gdy jest wykonywana na platformach obsługujących zarówno tryby 32-bitowe, jak i 64-bitowe. Jeśli to pole wyboru zostanie włączone, właściwość kompilacji PlatformTarget zostanie ustawiona na anycpu32bitpreferredwartość . Zobacz komentarze dotyczące platformyTarget dla języka C# i /platform dla języka Visual Basic.

Ręczne edytowanie pliku projektu

Czasami należy ręcznie edytować plik projektu w przypadku konfiguracji niestandardowej. Przykładem może być sytuacji, w których nie można określić warunków w środowisku IDE, takich jak odwołanie różne dla dwóch różnych platform lub zestaw, który musi zostać zarejestrowany dla określonej platformy w celu uwidocznienia go w modelu COM. Narzędzie, które przetwarza plik projektu, to MSBuild.

Uwaga

Ręczne edytowanie pliku projektu C++ używanego w programie Visual Studio nie jest zalecane.

Rejestracja MODELU COM

Jeśli kompilujesz zestaw .NET i udostępniasz go modelu COM, program Visual Studio rejestruje zestaw w określonej architekturze platformy, ponieważ istnieją różne lokalizacje rejestru dla każdej architektury platformy (na przykład x86 i x64). Jeśli zestaw jest już przeznaczony dla określonej platformy, jest używany, ale jeśli rejestrujesz zestaw .NET utworzony dla Any CPUprogramu , program MSBuild domyślnie rejestruje go w bieżącym środowisku uruchomieniowym programu MSBuild. Jeśli tworzysz w programie Visual Studio, to x64 w programie Visual Studio 2022 lub nowszym oraz x86 w programie Visual Studio 2019 i starszych wersjach. Jeśli ustawisz architekturę platformy przy użyciu metod opisanych wcześniej w tym artykule lub określisz inny PlatformTarget element w pliku projektu, program MSBuild będzie przestrzegał tego podczas rejestrowania. Istnieje właściwość, którą można ustawić, aby zastąpić to zachowanie: RegisterAssemblyMSBuildArchitecture. Możesz ustawić RegisterAssemblyMSBuildArchitecture żądaną architekturę platformy (np x86 . lub x64), dodając ją do elementu najwyższego poziomu PropertyGroup w pliku projektu.

Odwoływanie się do zestawów i bibliotek DLL x86 i x64

Być może masz zestaw .NET lub bibliotekę DLL, która ma wersje x86 i x64. Aby skonfigurować projekt do używania tych odwołań, najpierw dodaj odwołanie, a następnie otwórz plik projektu i zmodyfikuj go, aby dodać element ItemGroup z warunkiem odwołującym się zarówno do konfiguracji, jak i platformy docelowej. Załóżmy na przykład, że odwołujący się plik binarny to ClassLibrary1 i istnieją różne ścieżki konfiguracji debugowania i wydania, a także wersje x86 i x64. Następnie użyj czterech ItemGroup elementów ze wszystkimi kombinacjami ustawień w następujący sposób:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <Platforms>AnyCPU;x64;x86</Platforms>
  </PropertyGroup>

  <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64'">
    <Reference Include="ClassLibrary1">
      <HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
    </Reference>
  </ItemGroup>

  <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64'">
    <Reference Include="ClassLibrary1">
      <HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
    </Reference>
  </ItemGroup>

  <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86'">
    <Reference Include="ClassLibrary1">
      <HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
    </Reference>
  </ItemGroup>
  
  <ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86'">
    <Reference Include="ClassLibrary1">
      <HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
    </Reference>
  </ItemGroup>
</Project>

Aby uzyskać więcej informacji na temat pliku projektu, zobacz dokumentacja schematu pliku projektu MSBuild.