Compartir a través de


Destinado a múltiples plataformas y versiones de marco

Mediante MSBuild, puede compilar una aplicación para que se ejecute en cualquiera de las distintas versiones de .NET Framework y en cualquiera de las distintas plataformas del sistema. Por ejemplo, puede compilar una aplicación para que se ejecute en .NET Framework 2.0 en una plataforma de 32 bits y compilar la misma aplicación para que se ejecute en .NET Framework 4.5 en una plataforma de 64 bits.

Nota

En este artículo se describe un tipo anterior de multitargeting que se aplica a las compilaciones de .NET Framework en las cuales un proyecto solo puede tener como objetivo un único marco de trabajo y una única plataforma a la vez. En .NET Core y .NET 5 y versiones posteriores, puede usar un tipo más reciente de multitargeting mediante la propiedad TargetFrameworks (plural) en un archivo de proyecto. Al compilar con dotnet build o comandos similares de la CLI de .NET, o con Visual Studio después de volver a cargar el proyecto, la compilación usa el tipo más reciente de multiestinación, en el que se producen varias compilaciones, una vez para cada marco de destino enumerado. Vea Plataformas de destino.

Estas son algunas de las características de orientación de MSBuild:

  • Puede desarrollar una aplicación destinada a una versión anterior de .NET Framework, por ejemplo, versiones 2.0, 3.5 o 4.

  • Puede tener como destino una plataforma distinta de .NET Framework, por ejemplo, Silverlight Framework.

  • Puede tener como destino un perfil de Framework, que es un subconjunto predefinido de un marco de trabajo de destino.

  • Si se publica algún Service Pack para la versión actual de .NET Framework, podría utilizarlo como destino.

  • El destino de MSBuild garantiza que una aplicación use solo la funcionalidad que está disponible en el framework y la plataforma de destino.

Marco de trabajo y plataforma de destino

Un marco de destino es la versión de .NET Framework en la que se compila un proyecto para ejecutarse y una plataforma de destino es la plataforma del sistema en la que se compila el proyecto para ejecutarse. Por ejemplo, puede que quiera tener como destino una aplicación de .NET Framework 2.0 para que se ejecute en una plataforma de 32 bits compatible con la familia de procesadores 80x86 (x86). La combinación del marco de destino y la plataforma de destino se conoce como el contexto de destino . Para obtener más información, vea Versión de .NET Framework de destino y plataforma de destino.

Conjunto de herramientas (ToolsVersion)

Un conjunto de herramientas recopila las herramientas, las tareas y los destinos que se usan para crear la aplicación. Un conjunto de herramientas incluye compiladores como csc.exe y vbc.exe, el archivo de destinos comunes (microsoft.common.targets) y el archivo de tareas común (microsoft.common.tasks). El conjunto de herramientas 4.5 se puede utilizar para dirigirse a las versiones 2.0, 3.0, 3.5, 4 y 4.5 de .NET Framework. Sin embargo, el conjunto de herramientas 2.0 solo se puede usar para tener como destino la versión 2.0 de .NET Framework. Para obtener más información, vea Toolset (ToolsVersion).

Ensamblados de referencia

Los ensamblados de referencia que se especifican en el conjunto de herramientas le ayudan a diseñar y compilar una aplicación. Estos ensamblados de referencia no solo habilitan una compilación de destino determinada, sino que también restringen los componentes y características del IDE de Visual Studio a los compatibles con el destino. Para más información, consulte Resolver ensamblados en tiempo de diseño.

Configurar destinos y tareas

Puede configurar destinos y tareas de MSBuild para que se ejecuten fuera de proceso con MSBuild para que pueda tener como destino contextos que sean considerablemente diferentes de los que se están ejecutando. Por ejemplo, puede tener como destino una aplicación de .NET Framework 2.0 de 32 bits mientras el equipo de desarrollo se ejecuta en una plataforma de 64 bits con .NET Framework 4.5. Para obtener más información, consulte Configurar destinos y tareas.

Solución de problemas

Es posible que encuentre errores si intenta hacer referencia a un ensamblado que no forma parte del contexto de destino. Para obtener más información sobre estos errores y sobre qué hacer sobre ellos, consulte Solución de problemas de errores de .NET Framework que tienen como destino.