Diseñador de proyectos de .NET (C#)

Use el Diseñador de proyectos para especificar la configuración y las propiedades del proyecto para .NET Core y .NET 5+. Para los proyectos de .NET Framework y Visual Basic, consulte ¿Qué es el Diseñador de proyectos de .NET?.

Para acceder al Diseñador de proyectos, elija un nodo de proyecto (no el nodo Solución) en Explorador de soluciones. Después, seleccione Proyecto>Propiedades en la barra de menús. Aparece el Diseñador de proyectos.

Nota:

Es posible que el equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en este artículo. Puede que esté usando una edición diferente de Visual Studio u otra configuración del entorno. Para obtener más información, vea Personalizar el IDE.

Aplicación, configuración general

Las opciones siguientes le permiten configurar opciones generales para la aplicación.

Tipo de salida

Especifica el tipo de aplicación que se va a compilar. Los valores difieren según el tipo de proyecto. Por ejemplo, en un proyecto Aplicación de consola, puede especificar Aplicación Windows, Aplicación de consola o Biblioteca de clases como tipo de salida.

Para obtener más información sobre la propiedad Tipo de salida, vea -target (Opciones del compilador de C#).

Para obtener información sobre cómo tener acceso a esta propiedad mediante programación, vea OutputType.

Marco de destino

Especifica la versión de .NET a la que se destina la aplicación. Esta opción puede tener valores diferentes según las versiones de .NET instaladas en el equipo.

En el caso de un proyecto destinado a .NET Core o .NET 5+, las versiones disponibles pueden aparecer de la siguiente manera:

Captura de pantalla de las versiones de la plataforma de destino para un proyecto de .NET Core en Visual Studio 2022.

Nota:

En el caso de las aplicaciones ClickOnce, los paquetes de requisitos previos enumerados en el cuadro de diálogo Requisitos previos se establecen automáticamente la primera vez que se abre el cuadro de diálogo. Si posteriormente cambia la plataforma de destino del proyecto, debe seleccionar manualmente los requisitos previos para que coincidan con la nueva plataforma de destino.

Para obtener más información, vea Información general sobre destinos de Framework.

SO de destino

Especifica el sistema operativo al que se dirige el proyecto. En combinación con la plataforma de destino, esto genera un TF específico del sistema operativo de .NET 5+.

Objeto de inicio

Define el punto de entrada que se llamará cuando se cargue la aplicación. Normalmente, esto se establece en el formulario principal de la aplicación o en el procedimiento Main que debe ejecutarse cuando se inicia la aplicación. Dado que las bibliotecas de clases no tienen un punto de entrada, su única opción para esta propiedad es (Sin establecer).

De forma predeterminada, en un proyecto de aplicación de WPF, esta opción está establecida en (Sin establecer). La otra opción es [projectname].App. En un proyecto de WPF, debe establecer el URI de inicio para cargar un recurso de UI cuando se inicia la aplicación. Para ello, abra el archivo Application.xaml del proyecto y establezca la propiedad StartupUri en un archivo .xaml del proyecto, como Window1.xaml. Para obtener una lista de elementos raíz aceptables, vea StartupUri. También tiene que definir un método public static void Main() en una clase del proyecto. Esta clase aparecerá en la lista Objeto de inicio como ProjectName.ClassName. Después, puede seleccionar la clase como el objeto de inicio.

Para obtener más información, vea /main (Opciones del compilador de C#). Para obtener acceso a esta propiedad mediante programación, vea StartupObject.

Nombre del ensamblado

Especifica el nombre del archivo de salida que contendrá el manifiesto del ensamblado. Si cambia esta propiedad, también modifica la propiedad Nombre de salida.

También puede hacer este cambio desde la línea de comandos usando /out (opciones del compilador de C#).

Para obtener acceso a esta propiedad mediante programación, vea AssemblyName.

Espacio de nombres predeterminado

Especifica el espacio de nombres base para los archivos agregados al proyecto.

Vea espacio de nombres para obtener más información sobre cómo crear espacios de nombres en el código.

Para obtener acceso a esta propiedad mediante programación, vea RootNamespace.

Configuración de la aplicación, recursos win32

Icono

Establece el archivo .ico que quiere usar como icono del programa. Haga clic en Examinar para buscar un gráfico existente o escriba el nombre del archivo que quiere. Para obtener más información, vea /win32icon (Opciones del compilador de C#).

Para obtener acceso a esta propiedad mediante programación, vea ApplicationIcon.

Para más información sobre cómo crear un icono, vea Editor de imágenes para iconos.

Recursos

La opción Recursos le ayuda a configurar las opciones de recursos para la aplicación. De forma predeterminada, las opciones Icono y Manifiesto están habilitadas. Esto permite seleccionar su propio icono o seleccionar otras opciones de generación de manifiestos. Deje este botón de radio seleccionado a menos que vaya a proporcionar un archivo de recursos para el proyecto.

Si selecciona Archivo de recursos, configure un archivo de recursos para el proyecto. Escriba un nombre de ruta de acceso o use el botón Examinar para agregar un archivo de recursos Win32 al proyecto. Para más información, vea Creación de archivos de recursos para aplicaciones .NET.

de manifiesto

Selecciona una opción de generación de manifiesto cuando la aplicación se ejecuta en Windows en el Control de cuentas de usuario (UAC). Esta opción puede tener los valores siguientes:

  • Incrustar manifiesto con la configuración predeterminada. Admite la manera típica en la que funciona Visual Studio en Windows, que consiste en insertar información de seguridad en el archivo ejecutable de la aplicación al especificar que requestedExecutionLevel sea AsInvoker. Ésta es la opción predeterminada.

  • Crear aplicación sin un manifiesto. Este método se conoce como virtualización. Use esta opción para obtener compatibilidad con aplicaciones anteriores.

  • Use un manifiesto personalizado. Permite escribir una ruta de acceso o examinar un manifiesto personalizado para el proyecto.

Configuración de usos globales

Usos globales implícitos

Habilita o deshabilita los usos globales, que permiten usar tipos definidos en un espacio de nombres sin especificar el espacio de nombres completo.

Administrar usos globales implícitos

Agregue y elimine manualmente los usos globales para usarlos en los proyectos.

Compilación, configuración general

Símbolos de compilación condicional

Especifica símbolos con los que realizar la compilación condicional. Separe los símbolos con un punto y coma (";"). Para obtener más información, consulte /define (Opciones del compilador de C#).

Depuración de símbolos personalizados

Especifica símbolos para la compilación condicional para compilaciones de depuración. Los símbolos de depuración predeterminados se muestran en una cadena, separadas por punto y coma.

Liberar símbolos personalizados

Especifica símbolos para la compilación condicional para las compilaciones de versión. Los símbolos de versión predeterminados se muestran en una cadena, separadas por punto y coma.

Destino de la plataforma

Especifica el procesador que será el destino del archivo de salida. Elija x86 para cualquier procesador compatible con Intel de 32 bits; elija x64 para cualquier procesador compatible con Intel de 64 bits; elija ARM para procesadores ARM; o elija Cualquier CPU para especificar que se aceptan todos los procesadores. Cualquier CPU es el valor predeterminado para los proyectos, ya que permite que la aplicación se ejecute en la gran mayoría del hardware.

Para obtener más información, consulte /platform (Opciones del compilador de C#).

Admisión de valores NULL

Especifica el contexto de C# que admite un valor NULL en todo el proyecto. Esta opción de la interfaz de usuario se presentó en Visual Studio 16.5 y solo está habilitada para los proyectos en los que se usa C# 8.0 o una versión posterior.

Para más información, vea Contextos que admiten un valor NULL.

Generar información de ensamblado

Especifica si las propiedades del proyecto relacionadas con el paquete se transforman en atributos de ensamblado. Para obtener más información, vea la propiedad GenerateAssemblyInfo .

Código no seguro

Permite la compilación de código en el que se usa la palabra clave unsafe. Para obtener más información, consulte /unsafe (Opciones del compilador de C#).

Optimizar código

Habilite o deshabilite las optimizaciones realizadas por el compilador para que el archivo de salida sea menor, más rápido y más eficaz. Para obtener más información, consulte /optimize (Opciones del compilador de C#).

Símbolos de depuración

Especifica el tipo de información de depuración generado por el compilador. Para obtener información sobre cómo configurar el rendimiento de depuración de una aplicación, consulte La opción del compilador DebugType . Esta configuración tiene las siguientes opciones:

  • Ninguna

    Especifica que no se generará ninguna información de depuración.

  • full

    Permite asociar un depurador al programa en ejecución.

  • pdbonly

    Permite depurar el código fuente cuando el programa se inicia en el depurador, pero solo mostrará el ensamblador cuando el programa que se ejecuta está asociado al depurador.

  • portable

    Genera un archivo .PDB, un archivo de símbolos portátil no específico de plataforma que proporciona a otras herramientas, especialmente depuradores, información sobre qué se encuentra en el archivo ejecutable principal y cómo se ha generado. Vea PDB portátil para obtener más información.

  • embedded

    Inserta información de símbolos portátil en el ensamblado. No se genera ningún archivo .PDB externo.

Para obtener más información, consulte /debug (Opciones del compilador de C#).

Configuración de compilación, errores y advertencias

Las siguientes opciones se usan para configurar las opciones de advertencia y error para el proceso de compilación.

Nivel de advertencia

Especifica el nivel que se debe mostrar para las advertencias del compilador. Para obtener más información, consulte /warn (Opciones del compilador de C#).

Supresión de advertencias específicas

Bloquea la capacidad del compilador para generar una o varias advertencias específicas. Separe varios números de advertencia con una coma o un punto y coma. Para obtener más información, consulte /nowarn (Opciones del compilador de C#).

Tratar advertencias como errores

Seleccione si las advertencias se tratan como errores durante el proceso de compilación. Para obtener más información, consulte /warnaserror (Opciones del compilador de C#).

Tratar advertencias específicas como errores

Especifique qué advertencias se tratan como errores. Separe varios números de advertencia con una coma o un punto y coma.

Sugerencia

Si no quiere que las advertencias de análisis de código se traten como errores, vea Preguntas más frecuentes sobre análisis de código.

Compilación, configuración de salida

Las siguientes opciones se usan para configurar las opciones de salida para el proceso de compilación.

Ruta de acceso de salida base

Especifica la ubicación de los archivos de salida para la configuración de este proyecto. Escriba la ruta de acceso de salida de la compilación en este cuadro, o elija el botón Examinar para especificar una ruta de acceso. La ruta de acceso es relativa; si especifica una ruta de acceso absoluta, se guardará como relativa. La ruta de acceso predeterminada es bin\Debug\ o bin\Release.

Con las configuraciones de compilación simplificadas, el sistema del proyecto determina si se debe compilar una versión de lanzamiento o depuración. El comando Compilar del menú Depuración (F5) colocará la compilación en la ubicación de depuración independientemente de la Ruta de acceso de salida que especifique. En cambio, el comando Compilar del menú Compilar la coloca en la ubicación que especifique. Para obtener más información, vea Descripción de las configuraciones de compilación.

Ensamblado de referencia

Especifica si se debe generar un ensamblado de referencia que contenga la API pública del proyecto.

Archivo de documentación

Especifica el nombre de un archivo en el que se procesarán comentarios sobre documentación. Para obtener más información, consulte /doc (Opciones del compilador de C#).

Configuración de compilación, eventos

Para obtener información sobre la configuración del evento de compilación, vea Especificar eventos de compilación (C#).

Compilación, Configuración de publicación

Publicación

Permite que se ejecute el destino de publicación de MSBuild. Para obtener más información, consulte la propiedad IsPublishable de MSBuild.

Publicar recortado

Especifica si el recorte está habilitado durante el proceso de publicación. Para obtener más información, consulte Propiedades relacionadas con trim.

Publicación de AOT nativo

Especifica si se va a generar una aplicación autocontenida y que se ha compilado con antelación (AOT) en código nativo. Para más información, consulte Implementación con AOT nativa.

Compilación, configuración de nomenclatura segura

Firmar el ensamblado

Active esta casilla para firmar el ensamblado y crear un archivo de clave con nombre seguro. Para obtener más información sobre la firma del ensamblado mediante el Diseñador de proyectos, vea Cómo: Firmar un ensamblado (Visual Studio). Para obtener más información, vea Ensamblados con nombre seguro.

Esta opción usa la herramienta Al.exe proporcionada por el Kit de desarrollo de software de Windows (SDK) para firmar el ensamblado. Para obtener más información sobre Al.exe, vea Cómo: Firmar un ensamblado con un nombre seguro.

Lista de archivos de clave de nombre seguro

Permite especificar un archivo de clave con nombre seguro nuevo o existente para firmar el ensamblado. Seleccione <Examinar...> para seleccionar un archivo de clave existente.

Solo signo de retraso

Active esta casilla para habilitar la firma retardada. Para obtener más información, vea Retraso de la firma de un ensamblado.

Tenga en cuenta que un proyecto con firma retardada no se ejecutará y no se puede depurar. Pero puede usar Sn.exe (Herramienta de nombre seguro) con la opción -Vr para omitir la comprobación durante el desarrollo.

Nota

Al firmar un ensamblado, es posible que no siempre tenga acceso a una clave privada. Por ejemplo, una organización podría tener un par de claves muy bien guardado al que los desarrolladores no tuvieran acceso cada día. La clave pública podría estar disponible, pero el acceso a la clave privada estaría restringido a algunas personas. En tal caso, podría usar la firma retardada o la firma parcial para proporcionar la clave pública, retrasando la adición de la clave privada hasta la entrega del ensamblado.

Compilación, configuración avanzada

Las siguientes opciones le permiten establecer la configuración de compilación avanzada.

Versión de lenguaje

Vincula a /langversion (opciones del compilador de C#), que proporciona información sobre cómo se elige una versión del lenguaje predeterminada en función de la plataforma de destino de un proyecto.

Comprobar el desbordamiento aritmético

Especifica si una instrucción aritmética de enteros que no está en el ámbito de las palabras clave checked o unchecked y que produce un valor fuera del intervalo del tipo de datos provocará una excepción en tiempo de ejecución. Para obtener más información, consulte /checked (Opciones del compilador de C#).

Determinista

Especifica si se va a generar una salida equivalente de byte-for-byte desde el mismo origen de entrada. Para obtener más información, vea Opciones del compilador de C# que controlan la generación de código.

Informe de errores internos del compilador

Especifica si se deben notificar los errores del compilador a Microsoft. Si se establece en aviso (valor predeterminado), recibirá un aviso si se produce un error interno del compilador, lo que le ofrece la opción de enviar electrónicamente un informe de errores a Microsoft. Si se establece en enviar, se enviará automáticamente un informe de errores. Si se establece en cola, se pondrán en cola los informes de errores. Si se establece en ninguno, el error se notificará solo en la salida de texto del compilador. Para obtener más información, consulte /errorreport (Opciones del compilador de C#).

Alineación de archivo

Especifica el tamaño de las secciones del archivo de salida. Los valores válidos son 512, 1024, 2048, 4096 y 8192. Estos valores se miden en bytes. Cada sección se alineará en un límite que es un múltiplo de este valor, lo que afecta al tamaño del archivo de salida. Para obtener más información, consulte /filealign (Opciones del compilador de C#).

Paquete, configuración general

Las propiedades de esta sección se usan para configurar paquetes, normalmente correspondientes a las propiedades de un archivo .nuspec de NuGet. Para obtener más información, vea archivo .nuspec.

Paquete, configuración de licencia

Licencia de paquete

Especifica si se debe incluir una expresión de licencia o un archivo de licencia en el paquete. Para obtener más información, consulte el elemento license .

Paquete, configuración de símbolos

Generar un paquete de símbolos

Especifica si se va a crear un paquete de símbolos para la depuración. Para obtener más información, vea Creating symbol packages (.snupkg).

Análisis de código, toda la configuración del analizador

Ejecutar la compilación

Especifica si se va a ejecutar el análisis de código fuente al compilar el proyecto. Para obtener más información, vea Deshabilitar el análisis de código fuente para .NET.

Ejecución durante el análisis en directo

Especifica si se va a ejecutar el análisis de código fuente activo al compilar el proyecto. Para obtener más información, vea Deshabilitar el análisis de código fuente para .NET.

Análisis de código, configuración del analizador de .NET

Aplicación de estilos de código en la compilación

Especifica si se notifican infracciones de estilo de código de .NET al compilar el proyecto. Para obtener más información, vea Aplicar estilos de código en la compilación.

Habilitación de analizadores de .NET

Habilita o deshabilita los analizadores de la plataforma del compilador de .NET (Roslyn). Para obtener más información, consulte Habilitación o instalación de analizadores de .NET de primera entidad.

Nivel de análisis

Especifica el conjunto de analizadores que se van a ejecutar en el proyecto. Para obtener más información, consulte la sección Actualizaciones más recientes del artículo de información general sobre el análisis de código.

Depuración, configuración general

Seleccione el vínculo para abrir la interfaz de usuario de perfiles de inicio de depuración. Esta interfaz de usuario permite agregar y configurar diferentes perfiles que se usarán al depurar. Cada nombre de perfil aparece como una opción de inicio en la lista Iniciar depuración .

En ASP.NET proyectos principales, la configuración de la interfaz de usuario de perfiles de inicio corresponde a la configuración del archivo launch Configuración.json del proyecto. Para obtener información detallada sobre cómo se usa este archivo en ASP.NET desarrollo, consulte Desarrollo e inicio Configuración.json.

Recursos, configuración general

Seleccione el vínculo para abrir el archivo de recursos de ensamblado RESX. Para obtener más información, vea Configuración página, Diseñador de proyectos.

Consulte también

IU de propiedades de proyecto renovada