Konfigurace projektů pro cílové platformy

Visual Studio umožňuje nastavit sestavení aplikací tak, aby cílily na různé platformy (architektury procesorů), včetně Arm64 a dalších platforem. Abyste mohli vytvořit cílovou platformu, nemusíte na platformě spouštět Visual Studio. Další informace o podpoře Arm64 v sadě Visual Studio najdete v sadě Visual Studio na zařízeních s podporou ARM. Informace o 64bitové podpoře platformy pro vývoj pro .NET najdete v 64bitových aplikacích.

Poznámka:

Visual Studio 2022 běží jako 64bitová aplikace. To je zcela oddělené od platforem, na které můžete cílit ve svých projektech v sadě Visual Studio. K cílení na 32bitové i 64bitové platformy můžete použít libovolnou verzi sady Visual Studio.

Visual Studio umožňuje nastavit sestavení aplikací tak, aby cílila na různé platformy (architektury procesoru), jako jsou x86 a x64. Informace o 64bitové podpoře platformy pro vývoj pro .NET najdete v 64bitových aplikacích.

Poznámka:

Visual Studio běží jako 32bitová aplikace. To je zcela oddělené od platforem, na které můžete cílit ve svých projektech v sadě Visual Studio. K cílení na 32bitové i 64bitové platformy můžete použít libovolnou verzi sady Visual Studio.

Cílové platformy s nástrojem Configuration Manager

Configuration Manager nabízí způsob, jak rychle přidat novou platformu, která bude cílit na váš projekt. Pokud vyberete některou z platforem zahrnutých v sadě Visual Studio, nastaví se konfigurace pro sestavení projektu pro vybranou platformu.

Pokud chcete cílit na některé platformy v nativním projektu C++, musíte nainstalovat nástroje sestavení pro platformu. Nástroje sestavení C++ pro platformy x86 a x64 se instalují s výchozí úlohou jazyka C++. Pokud cílíte na jinou architekturu procesoru, jako je Arm64, musíte před pokračováním použít Instalační program pro Visual Studio k instalaci nástrojů sestavení pro platformu. Viz Úprava sady Visual Studio. Abyste mohli cílit na Arm64, nemusíte visual Studio spouštět na zařízení Arm64. V případě Arm64 můžete nainstalovat nástroje sestavení Arm64 nebo nástroje sestavení ARM64EC ; viz Visual Studio Arm64.

Pro vývoj pro .NET se k cílení na platformu Arm64 vyžaduje .NET 6 nebo novější. Viz podpora .NET pro macOS 11 a Windows 11 pro Arm64 a x64.

Konfigurace projektu pro cílení na Arm64 a další platformy

  1. Na řádku nabídek zvolte Sestavit>Configuration Manager.

  2. V seznamu Aktivní platforma řešení zvolte platformu, na které má řešení cílit, a pak zvolte tlačítko Zavřít.

    1. Pokud se požadovaná platforma nezobrazí v seznamu Aktivní platforma řešení, zvolte Nový. Po instalaci nástrojů pro konkrétní platformu budete moct přidat nové řešení a konfigurace projektů, které cílí na danou platformu.

      Zobrazí se dialogové okno Nová platforma řešení.

    2. V seznamu Typ nebo vyberte nový seznam platforem, zvolte požadovanou platformu (architektura procesoru), například ARM64.

      Screenshot showing choosing a new platform.

      Poznámka:

      Pokud konfiguraci pojmenujete novým názvem, možná budete muset změnit nastavení v Návrháři projektů tak, aby cílila na správnou platformu.

    3. Pokud chcete zkopírovat nastavení z aktuální konfigurace platformy, zvolte ho a pak zvolte tlačítko OK .

Screenshot showing the new solution platform and project platform

Konfigurace projektu pro cílení na jinou platformu

  1. Na řádku nabídek zvolte Sestavit>Configuration Manager.

  2. V seznamu Aktivní platforma řešení zvolte platformu, na které má řešení cílit, a pak zvolte tlačítko Zavřít.

    1. Pokud se požadovaná platforma nezobrazí v seznamu Aktivní platforma řešení, zvolte Nový. Po instalaci nástrojů pro konkrétní platformu budete moct přidat nové řešení a konfigurace projektů, které cílí na danou platformu.

      Zobrazí se dialogové okno Nová platforma řešení.

    2. V seznamu Typ nebo vyberte nový seznam platforem, zvolte požadovanou platformu (architektura procesoru), například x64.

      Poznámka:

      Pokud konfiguraci pojmenujete novým názvem, možná budete muset změnit nastavení v Návrháři projektů tak, aby cílila na správnou platformu.

    3. Pokud chcete zkopírovat nastavení z aktuální konfigurace platformy, zvolte ho a pak zvolte tlačítko OK .

Poznámka:

Název platformy Win32 se používá pro projekty C++ a znamená to x86. Visual Studio považuje platformy na úrovni projektu i platformy na úrovni řešení a projektové platformy pocházejí ze systémů projektů specifických pro jednotlivé jazyky. Projekty C++ používají Win32 a x64, ale platformy řešení používají platformu x86 a x64. Když jako konfiguraci řešení zvolíte x86 , Visual Studio vybere platformu Win32 pro projekty C++. Pokud chcete zobrazit nastavení platformy na úrovni projektu i platformy na úrovni řešení, otevřete Configuration Manager a poznamenejte si dvě nastavení platformy. Platforma na úrovni řešení se zobrazuje v rozevíracím seznamu Aktivní platforma řešení a v tabulce se zobrazuje platforma na úrovni projektu pro každý projekt. Screenshot showing solution platform and project platform

Cílové platformy v uživatelském rozhraní Návrháře projektů nebo vlastností projektu

Uživatelské rozhraní Návrháře projektu nebo Vlastností projektu také poskytuje způsob, jak cílit na různé platformy s vaším projektem. Pokud výběr jedné z platforem zahrnutých v seznamu v dialogovém okně Nová platforma řešení nefunguje pro vaše řešení, můžete vytvořit vlastní název konfigurace a upravit nastavení ve vlastnostech projektu tak, aby cílila na správnou platformu.

Provádění této úlohy se liší v závislosti na programovacím jazyce, který používáte. Další informace najdete na následujících odkazech:

Ruční úprava souboru projektu

Někdy je potřeba ručně upravit soubor projektu pro určitou vlastní konfiguraci. Příkladem je situace, kdy máte podmínky, které nelze zadat v integrovaném vývojovém prostředí , například odkaz, který se liší pro dvě různé platformy, nebo sestavení, které musí být registrováno pro konkrétní platformu, aby bylo možné ho vystavit modelu COM. Nástroj, který zpracovává soubor projektu, je MSBuild.

Upozornění

Ruční úprava souboru projektu C++, který používáte v sadě Visual Studio, se nedoporučuje.

Registrace modelu COM

Pokud vytváříte sestavení .NET a vystavujete ho modelu COM, Visual Studio zaregistruje sestavení s konkrétní architekturou platformy, protože pro každou architekturu platformy existují různá umístění registru (například x86 a x64). Pokud vaše sestavení už cílí na konkrétní platformu, použije se, ale pokud registrujete sestavení .NET vytvořené pro Any CPU, nástroj MSBuild jako výchozí nastavení zaregistruje pro aktuální modul runtime nástroje MSBuild. Pokud vytváříte v sadě Visual Studio, je to x64 v sadě Visual Studio 2022 a novější a x86 v sadě Visual Studio 2019 a starších verzích. Pokud nastavíte architekturu platformy pomocí metod popsaných výše v tomto článku nebo zadáte jiný PlatformTarget soubor projektu, nástroj MSBuild bude respektovat tuto architekturu při registraci. Existuje vlastnost, kterou můžete nastavit k přepsání tohoto chování, RegisterAssemblyMSBuildArchitecture. Na požadovanou architekturu platformy (například nebo) můžete nastavit RegisterAssemblyMSBuildArchitecture tak, že ji přidáte do elementu nejvyšší úrovně PropertyGroup v souboru projektu.x64x86

Odkazování na sestavení x86 a x64 a knihovny DLL

Je možné, že máte sestavení .NET nebo knihovnu DLL, která má verze x86 i x64. Pokud chcete nastavit projekt tak, aby používal tyto odkazy, nejprve přidejte odkaz a otevřete soubor projektu a upravte ho tak, aby se přidala ItemGroup podmínka, která odkazuje na konfiguraci i cílovou platformu. Předpokládejme například, že binární soubor, na který odkazujete, je ClassLibrary1 a existují různé cesty pro konfigurace ladění a vydání, stejně jako verze x86 a x64. Pak použijte čtyři ItemGroup prvky se všemi kombinacemi nastavení následujícím způsobem:

<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>

Další informace o souboru projektu naleznete v tématu MSBuild projektové schéma schématu.