Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Visual Studio permite configurar las compilaciones de la aplicación para tener como destino distintas plataformas (arquitecturas de procesador), incluidas Arm64 y otras plataformas. No es necesario ejecutar Visual Studio en una plataforma para compilarla para esa plataforma de destino. Para obtener más información sobre la compatibilidad con Arm64 en Visual Studio, consulte Visual Studio en dispositivos con ARM. Para obtener compatibilidad con la plataforma de 64 bits para el desarrollo de .NET, consulte Aplicaciones de 64 bits.
Nota:
Visual Studio 2022 se ejecuta como una aplicación de 64 bits. Esto es totalmente independiente de las plataformas que se pueden tener como destino para tus proyectos en Visual Studio. Puede usar cualquier versión de Visual Studio para tener como destino plataformas de 32 y 64 bits.
Visual Studio permite configurar las compilaciones de la aplicación para tener como destino distintas plataformas (arquitecturas de procesador), como x86 y x64. Para obtener compatibilidad con la plataforma de 64 bits para el desarrollo de .NET, consulte Aplicaciones de 64 bits.
Nota:
Visual Studio se ejecuta como una aplicación de 32 bits. Esto es totalmente independiente de las plataformas que se pueden tener como destino para tus proyectos en Visual Studio. Puede usar cualquier versión de Visual Studio para tener como destino plataformas de 32 y 64 bits.
Plataformas de destino con Configuration Manager
Configuration Manager proporciona una manera de agregar rápidamente una nueva plataforma como objetivo en tu proyecto. Si selecciona una de las plataformas incluidas con Visual Studio, se configura una configuración para compilar el proyecto para la plataforma seleccionada.
Para tener como destino algunas plataformas en un proyecto nativo de C++, debe instalar las herramientas de compilación para la plataforma. Las herramientas de compilación de C++ para las plataformas x86 y x64 se instalan con la carga de trabajo predeterminada de C++. Si tiene como destino otra arquitectura de procesador, como Arm64, debe usar el Instalador de Visual Studio para instalar las herramientas de compilación para la plataforma antes de continuar. Vea Modificación de Visual Studio. No es necesario ejecutar Visual Studio en un dispositivo Arm64 para tener como destino Arm64. Para Arm64, puede instalar herramientas de compilación de Arm64 o herramientas de compilación de ARM64EC ; consulte Arm64 Visual Studio.
Para el desarrollo de .NET, se requiere .NET 6 o posterior para tener como destino la plataforma Arm64. Consulte Compatibilidad de .NET con macOS 11 y Windows 11 para Arm64 y x64.
Para configurar un proyecto para que se dirija a Arm64 y otras plataformas
En la barra de menús, elija Compilar>Configuration Manager.
En la lista Plataforma de soluciones activas , elija una plataforma para la solución de destino y, a continuación, elija el botón Cerrar .
Si la plataforma que desea no aparece en la lista Plataforma de soluciones activas , elija Nuevo. Después de instalar las herramientas para una plataforma determinada, podrá agregar las nuevas configuraciones de solución y proyecto destinadas a esa plataforma.
Aparecerá el cuadro de diálogo Nueva plataforma de solución.
En la lista Tipo o seleccione la nueva plataforma , elija la plataforma deseada (arquitectura del procesador); por ejemplo,
ARM64
.Nota:
Si asigna un nuevo nombre a la configuración, es posible que tenga que modificar la configuración en el Diseñador de proyectos para que tenga como destino la plataforma correcta.
Si desea copiar la configuración de una configuración de plataforma actual, selecciónela y, a continuación, elija el botón Aceptar .
Para configurar un proyecto para que se dirija a una plataforma diferente
En la barra de menús, elija Compilar>Configuration Manager.
En la lista Plataforma de soluciones activas , elija una plataforma para la solución de destino y, a continuación, elija el botón Cerrar .
Si la plataforma que desea no aparece en la lista Plataforma de soluciones activas , elija Nuevo. Después de instalar las herramientas de una plataforma determinada, podrá agregar las nuevas configuraciones de solución y proyecto destinadas a esa plataforma.
Aparecerá el cuadro de diálogo Nueva plataforma de solución.
En la lista Tipo o seleccione la nueva plataforma , elija la plataforma deseada (arquitectura del procesador); por ejemplo,
x64
.Nota:
Si asigna un nuevo nombre a la configuración, es posible que tenga que modificar la configuración en el Diseñador de proyectos para que tenga como destino la plataforma correcta.
Si desea copiar la configuración de una configuración de plataforma actual, selecciónela y, a continuación, elija el botón Aceptar .
Nota:
El nombre de la plataforma Win32 se usa para proyectos de C++ y significa x86. Visual Studio considera las plataformas de nivel de proyecto y las plataformas de nivel de solución, y las plataformas de proyecto proceden de los sistemas de proyectos específicos del lenguaje. Los proyectos de C++ usan Win32 y x64, pero las plataformas de solución usan x86 y x64. Al elegir x86 como configuración de la solución, Visual Studio selecciona la plataforma Win32 para proyectos de C++. Para ver tanto la plataforma de nivel de proyecto como la configuración de la plataforma de nivel de solución, abra Configuration Manager y anote las dos opciones de configuración de la plataforma. La plataforma de nivel de solución se muestra en la lista desplegable Plataforma de solución activa y la tabla muestra la plataforma de nivel de proyecto para cada proyecto.
Plataformas de destino en la interfaz de usuario del diseñador de proyectos o la interfaz de propiedades del proyecto
La interfaz de usuario del Diseñador de Proyectos o Propiedades del Proyecto también proporciona una manera de apuntar a diferentes plataformas con el proyecto. Si seleccionar una de las plataformas incluidas en la lista en el cuadro de diálogo Nueva plataforma de solución no funciona para la solución, puede crear un nombre de configuración personalizado y modificar la configuración de Propiedades del proyecto para que tenga como destino la plataforma correcta.
La realización de esta tarea varía en función del lenguaje de programación que use. Vea los vínculos siguientes para obtener más información:
Para proyectos de Visual Basic, consulte /platform (Visual Basic).
Para proyectos de C#, vea la Página de Compilación, Diseñador de Proyectos (C#).
Preferir la configuración de 32 bits
La configuración Preferir 32 bits en la página Compilar del diseñador de proyectos para .NET Framework 4.5 o posterior maneja el caso en el que está compilando la AnyCPU
configuración pero desea que su aplicación se ejecute en modo de 32 bits cuando se ejecuta en plataformas compatibles con ambos modos de 32 y 64 bits. Si habilita la casilla de verificación, la propiedad de compilación PlatformTarget
se establece en anycpu32bitpreferred
. Vea los comentarios de PlatformTarget para C# y /platform para Visual Basic.
Edición manual del archivo de proyecto
A veces, debe editar manualmente el archivo del proyecto para alguna configuración personalizada. Un ejemplo es cuando tiene condiciones que no se pueden especificar en el IDE, como una referencia diferente para dos plataformas diferentes, o un ensamblado que se debe registrar para una plataforma determinada para exponerlo a COM. La herramienta que procesa el archivo del proyecto es MSBuild.
Precaución
No se recomienda editar manualmente un archivo de proyecto de C++ que esté usando en Visual Studio.
El registro COM
Si va a compilar un ensamblado de .NET y exponerlo a COM, Visual Studio registra el ensamblado con una arquitectura de plataforma determinada, ya que hay diferentes ubicaciones del registro para cada arquitectura de plataforma (por ejemplo, x86
y x64
). Si el ensamblaje ya está destinado a una plataforma específica, se utiliza, pero si está registrando un ensamblaje de .NET construido para Any CPU
, MSBuild lo registra por defecto para el entorno de ejecución actual de MSBuild. Si está creando en Visual Studio, eso es así en x64
Visual Studio 2022 y versiones posteriores, y en x86
Visual Studio 2019 y versiones anteriores. Si establece la arquitectura de la plataforma mediante los métodos descritos anteriormente en este artículo o especifica otro PlatformTarget
en el archivo de proyecto, MSBuild respetará eso al registrarse. Hay una propiedad que puede establecer para invalidar este comportamiento, RegisterAssemblyMSBuildArchitecture
. Puede establecer RegisterAssemblyMSBuildArchitecture
en la arquitectura de plataforma deseada (como x86
o x64
) agregándola a un elemento de nivel PropertyGroup
superior en el archivo del proyecto.
Referencia a ensamblados y bibliotecas DLL x86 y x64
Es posible que tenga un ensamblado o DLL de .NET que tenga versiones x86 y x64. Para configurar el proyecto para que use estas referencias, agregue primero la referencia y, a continuación, abra el archivo del proyecto y edítelo para agregar un ItemGroup
con una condición que haga referencia a la configuración y a la plataforma de destino. Por ejemplo, supongamos que el binario al que hace referencia es ClassLibrary1 y hay diferentes rutas de acceso para las configuraciones de depuración y versión, así como las versiones x86 y x64. A continuación, use cuatro ItemGroup
elementos con todas las combinaciones de configuración, como se indica a continuación:
<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>
Para obtener más información sobre el archivo de proyecto, consulte Referencia de esquema de archivo de proyecto de MSBuild.