Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Visual Studio kan du konfigurera dina programversioner för att rikta in dig på olika plattformar (processorarkitekturer), inklusive Arm64 och andra plattformar. Du behöver inte köra Visual Studio på en plattform för att kunna skapa för den målplattformen. Mer information om Arm64-stöd i Visual Studio finns i Visual Studio på ARM-baserade enheter. Information om 64-bitars plattformsstöd för .NET-utveckling, se 64-bitarsprogram.
Anmärkning
Visual Studio 2022 körs som ett 64-bitarsprogram. Detta är helt separat från de plattformar som du kan rikta in dig på för dina projekt i Visual Studio. Du kan använda valfri version av Visual Studio för att rikta in dig på både 32- och 64-bitarsplattformar.
Med Visual Studio kan du konfigurera dina programversioner för att rikta in dig på olika plattformar (processorarkitekturer), till exempel x86 och x64. Information om 64-bitars plattformsstöd för .NET-utveckling, se 64-bitarsprogram.
Anmärkning
Visual Studio körs som ett 32-bitarsprogram. Detta är helt separat från de plattformar som du kan rikta in dig på för dina projekt i Visual Studio. Du kan använda valfri version av Visual Studio för att rikta in dig på både 32- och 64-bitarsplattformar.
Målplattformar med Configuration Manager
Configuration Manager ger dig ett sätt att snabbt lägga till en ny plattform att rikta in dig på med ditt projekt. Om du väljer någon av de plattformar som ingår i Visual Studio konfigureras en konfiguration för att skapa projektet för den valda plattformen.
Om du vill rikta in dig på vissa plattformar i ett internt C++-projekt måste du installera byggverktygen för plattformen. C++-byggverktyg för x86- och x64-plattformar installeras med C++-standardarbetsbelastningen. Om du riktar in dig på en annan processorarkitektur, till exempel Arm64, måste du använda Visual Studio Installer för att installera byggverktygen för plattformen innan du fortsätter. Se Ändrai Visual Studio. Du behöver inte köra Visual Studio på en Arm64-enhet för att rikta in dig på Arm64. För Arm64 kan du installera Arm64-byggverktyg eller ARM64EC byggverktyg. se Arm64 Visual Studio.
För .NET-utveckling krävs .NET 6 eller senare för att rikta in sig på Arm64-plattformen. Se .NET-stöd för macOS 11 och Windows 11 för Arm64 och x64.
Så här konfigurerar du ett projekt för arm64 och andra plattformar
- På menyraden väljer du Bygg>Konfigurationshanterare. 
- I listan Aktiv lösningsplattform väljer du en plattform som lösningen ska riktas mot och väljer sedan knappen Stäng . - Om den plattform som du vill använda inte visas i listan Aktiv lösningsplattform väljer du Ny. När du har installerat verktygen för en viss plattform kan du lägga till den nya lösningen och projektkonfigurationerna som är avsedda för plattformen. - Dialogrutan Ny lösningsplattform visas. 
- I listan Typ eller välj den nya plattformen väljer du önskad plattform (processorarkitektur); till exempel - ARM64.  - Anmärkning - Om du ger konfigurationen ett nytt namn kan du behöva ändra inställningarna i Projektdesignern för att rikta in dig på rätt plattform. 
- Om du vill kopiera inställningarna från en aktuell plattformskonfiguration väljer du den och väljer sedan knappen OK . 
 
               
              
            
Så här konfigurerar du ett projekt för att rikta in sig på en annan plattform
- På menyraden väljer du Bygg>Konfigurationshanterare. 
- I listan Aktiv lösningsplattform väljer du en plattform som lösningen ska riktas mot och väljer sedan knappen Stäng . - Om den plattform som du vill använda inte visas i listan Aktiv lösningsplattform väljer du Ny. När du har installerat verktygen för en viss plattform kan du lägga till den nya lösningen och projektkonfigurationerna för den plattformen. - Dialogrutan Ny lösningsplattform visas. 
- I listan Typ eller välj den nya plattformen väljer du önskad plattform (processorarkitektur); till exempel - x64.- Anmärkning - Om du ger konfigurationen ett nytt namn kan du behöva ändra inställningarna i Projektdesignern för att rikta in dig på rätt plattform. 
- Om du vill kopiera inställningarna från en aktuell plattformskonfiguration väljer du den och väljer sedan knappen OK . 
 
Anmärkning
              Win32-plattformsnamnet används för C++-projekt, och det innebär x86. Visual Studio tar hänsyn till både plattformar på projektnivå och plattformar på lösningsnivå, och projektplattformarna kommer från de språkspecifika projektsystemen. C++-projekt använder Win32 och x64, men lösningsplattformarna använder x86 och x64. När du väljer x86 som lösningskonfiguration väljer Visual Studio Win32-plattformen för C++-projekt. Om du vill se både plattformsinställningar på projektnivå och lösningsnivå öppnar du Configuration Manager och noterar de två plattformsinställningarna. Plattformen på lösningsnivå visas i listrutan Aktiv lösningsplattform och tabellen visar plattformen på projektnivå för varje projekt.
               
              
            
Målplattformar i användargränssnittet för projektdesignern eller projektegenskaper
Användargränssnittet projektdesigner eller projektegenskaper ger också ett sätt att rikta in sig på olika plattformar med ditt projekt. Om det inte fungerar för din lösning att välja någon av de plattformar som ingår i listan i dialogrutan Ny lösningsplattform kan du skapa ett anpassat konfigurationsnamn och ändra inställningarna i Projektegenskaper för att rikta in dig på rätt plattform.
Att utföra den här uppgiften varierar beroende på vilket programmeringsspråk du använder. Mer information finns i följande länkar:
- Information om Visual Basic-projekt finns i /platform (Visual Basic). 
- För C#-projekt, se Skapa sida, Projektdesigner (C#). 
Föredrar 32-bitarsinställning
Inställningen Prefer 32-bit (Föredrar 32-bitars ) på sidan Build i projektdesignern för .NET Framework 4.5 eller senare hanterar det fall där du skapar konfigurationen AnyCPU , men du vill att programmet ska köras i 32-bitarsläge när det körs på plattformar som stöder både 32- och 64-bitarslägen. Om du aktiverar kryssrutan är byggegenskapen PlatformTarget inställd på anycpu32bitpreferred. Se kommentarer om PlatformTarget för C# och /platform för Visual Basic.
Redigera projektfilen manuellt
Ibland behöver du redigera projektfilen manuellt för viss anpassad konfiguration. Ett exempel är när du har villkor som inte kan anges i IDE, till exempel en referens som skiljer sig för två olika plattformar eller en sammansättning som måste registreras för en viss plattform för att exponera den för COM. Verktyget som bearbetar projektfilen är MSBuild.
Försiktighet
Vi rekommenderar inte att du redigerar en C++-projektfil manuellt som du använder i Visual Studio.
COM-registrering
Om du skapar en .NET-sammansättning och exponerar den för COM registrerar Visual Studio sammansättningen med en viss plattformsarkitektur, eftersom det finns olika registerplatser för varje plattformsarkitektur (till exempel x86 och x64). Om sammansättningen redan är avsedd för en specifik plattform används den, men om du registrerar en .NET-sammansättning som har skapats för Any CPU, registrerar MSBuild som standard den för MSBuilds aktuella körning. Om du arbetar i Visual Studio finns x64 i Visual Studio 2022 och senare, och x86 i Visual Studio 2019 och tidigare. Om du anger plattformsarkitekturen med de metoder som beskrivs tidigare i den här artikeln, eller anger en annan PlatformTarget i projektfilen, respekterar MSBuild det när du registrerar dig. Det finns en egenskap som du kan ange för att åsidosätta det här beteendet, RegisterAssemblyMSBuildArchitecture. Du kan ställa in RegisterAssemblyMSBuildArchitecture till den önskade plattformsarkitekturen (till exempel x86 eller x64) genom att lägga till det i ett överordnat PropertyGroup-element i projektfilen.
Refererar till x86- och x64-sammansättningar och DLL:er
Du kan ha en .NET-sammansättning eller DLL som har både x86- och x64-versioner. Om du vill konfigurera projektet för att använda dessa referenser lägger du först till referensen och öppnar sedan projektfilen och redigerar den för att lägga till en ItemGroup med ett villkor som refererar till både konfigurationen och målplattformen.  Anta till exempel att binärfilen du refererar till är ClassLibrary1 och att det finns olika sökvägar för felsöknings- och versionskonfigurationer samt x86- och x64-versioner.  Använd sedan fyra ItemGroup element med alla kombinationer av inställningar enligt följande:
<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>
Mer information om projektfilen finns i SCHEMAreferens för MSBuild-projektfil.