Designer de Projeto .NET (C#)

Use o Project Designer para especificar as configurações e propriedades do projeto para .NET Core e .NET 5+. Para projetos do .NET Framework e do Visual Basic, consulte O que é o .NET Project Designer?.

Para acessar o Designer de Projeto, escolha um nó de projeto (não o nó Solução) no Gerenciador de Soluções. Em seguida, escolha Projeto>Propriedades na barra de menus. O Designer de Projeto é exibido.

Observação

Seu computador pode mostrar diferentes nomes ou locais para alguns dos elementos de interface do usuário do Visual Studio neste artigo. Você pode estar usando outra edição do Visual Studio ou outras configurações de ambiente. Para obter mais informações, confira Personalizar o IDE.

Aplicação, Configurações gerais

As opções a seguir permitem definir as configurações gerais para o aplicativo.

Tipo de saída

Especifica o tipo de aplicativo a ser compilado. Os valores são diferentes dependendo do tipo de projeto. Por exemplo, para um projeto do Aplicativo de Console, é possível especificar Aplicativo do Windows, Aplicativo de Console ou Biblioteca de Classes como o tipo de saída.

Para obter mais informações sobre a propriedade Tipo de saída, confira /target (Opções do compilador do C#).

Para obter informações sobre como acessar esta propriedade de forma programática, consulte OutputType.

Estrutura de Destino

Especifica a versão do .NET direcionada pelo aplicativo. Essa opção pode ter valores diferentes dependendo de quais versões do .NET estão instaladas no computador.

Para um projeto destinado ao .NET Core ou .NET 5+, as versões disponíveis podem aparecer da seguinte maneira:

Captura de tela das versões da estrutura de destino para um projeto do .NET Core no Visual Studio 2022.

Observação

Para aplicativos ClickOnce, os pacotes de pré-requisitos listados na caixa de diálogo Pré-requisitos são definidos automaticamente na primeira vez que você abre a caixa de diálogo. Se você alterar posteriormente a estrutura de destino do projeto, será necessário selecionar os pré-requisitos manualmente para corresponder à nova estrutura de destino.

Para obter mais informações, confira Visão geral do direcionamento de estrutura.

SO de destino

Especifica o sistema operacional ao qual o projeto será destinado. Combinado com a estrutura de destino, isso gera um TF específico do sistema operacional .NET 5+.

Objeto de inicialização

Define o ponto de entrada a ser chamado quando o aplicativo é carregado. Geralmente, isso é definido como o principal formulário em seu aplicativo ou como o procedimento Main que deve ser executado quando o aplicativo é iniciado. Como as bibliotecas de classes não têm um ponto de entrada, sua única opção para essa propriedade é (Não definido).

Por padrão, em um projeto do aplicativo WPF, esta opção é definida como (Não definido). A outra opção é [projectname].App. Em um projeto do WPF, é necessário definir o URI de inicialização para carregar um recurso de interface do usuário quando o aplicativo é iniciado. Para fazer isso, abra o arquivo Application.xaml em seu projeto e defina a propriedade StartupUri como um arquivo .xaml em seu projeto, como Window1.xaml. Para obter uma lista dos elementos raiz aceitáveis, consulte StartupUri. Também é necessário definir um método public static void Main() em uma classe no projeto. Essa classe será exibida na lista Objeto de inicialização como ProjectName.ClassName. Em seguida, é possível selecionar a classe como o objeto de inicialização.

Consulte /main (Opções do compilador do C#) para obter mais informações. Para acessar essa propriedade de forma programática, consulte StartupObject.

Nome do assembly

Especifica o nome do arquivo de saída que guardará o manifesto do assembly. Alterar essa propriedade também altera a propriedade Nome de saída.

Também é possível fazer essa alteração na linha de comando usando /out (opções do compilador C#).

Para acessar essa propriedade de forma programática, consulte AssemblyName.

Namespace padrão

Especifica o namespace base para arquivos adicionados ao projeto.

Consulte namespace para obter mais informações sobre a criação de namespaces em seu código.

Para acessar essa propriedade de forma programática, consulte RootNamespace.

Aplicativo, Win32 Configurações de recursos

Ícone

Define o arquivo .ico que você deseja usar como seu ícone do programa. Clique em Procurar para procurar um gráfico existente ou digite o nome do arquivo que você deseja. Consulte -win32icon (Opções do compilador do C#) para obter mais informações.

Para acessar essa propriedade de forma programática, consulte ApplicationIcon.

Para obter informações sobre como criar um ícone, confira Editor de imagens para ícones.

Recursos

A opção Recursos ajuda você a definir configurações de recursos para seu aplicativo. Por padrão, as opções Ícone e Manifesto estão habilitadas. Isso permite selecionar seu próprio ícone ou diferentes opções de geração de manifesto. Deixe esse botão de opção selecionado, a menos que você esteja fornecendo um arquivo de recurso para o projeto.

Se você selecionar Arquivo de recurso, configure um arquivo de recurso para o projeto. Insira um nome de caminho ou use o botão Procurar para adicionar um arquivo de recurso Win32 ao projeto. Para obter mais informações, confira Criar arquivos de recurso para aplicativos .NET.

Manifesto

Seleciona uma opção de geração de manifesto quando o aplicativo é executado no Windows no UAC (Controle de Conta de Usuário). Essa opção pode ter os seguintes valores:

  • Inserir manifesto com configurações padrão. Dá suporte à maneira típica como o Visual Studio funciona no Windows, que é inserir as informações de segurança no arquivo executável do aplicativo, especificando que requestedExecutionLevel seja AsInvoker. Essa é a opção padrão.

  • Criar aplicativo sem um manifesto. Esse método é conhecido como virtualização. Use essa opção para compatibilidade com aplicativos anteriores.

  • Use um manifesto personalizado. Permite inserir um caminho ou navegar até um manifesto personalizado para o projeto.

Configurações de Usos Globais

Usos globais implícitos

Habilita ou desabilita usos globais, que permitem usar tipos definidos em um namespace sem especificar o namespace totalmente qualificado.

Gerenciar usos globais implícitos

Adicione e exclua manualmente usos globais para uso em seus projetos.

Compilação, Configurações gerais

Símbolos de compilação condicional

Especifica símbolos nos quais a compilação condicional é executada. Separe os símbolos com um ponto-e-vírgula (";"). Para obter mais informações, consulte /define (opções do compilador C#).

Depurar símbolos personalizados

Especifica símbolos para compilação condicional para compilações de Depuração. Os símbolos de depuração padrão são exibidos em uma cadeia de caracteres, separados por ponto-e-vírgula.

Liberar símbolos personalizados

Especifica símbolos para compilação condicional para compilações de versão. Os símbolos de liberação padrão são exibidos em uma cadeia de caracteres, separados por ponto-e-vírgula.

Destino da plataforma

Especifica o processador de destino do arquivo de saída. Escolha x86 para qualquer processador compatível com Intel de 32 bits, x64 para qualquer processador compatível com Intel de 64 bits, ARM para processadores ARM ou Qualquer CPU para especificar que qualquer processador é aceitável. Qualquer CPU é o valor padrão para projetos, pois permite que o aplicativo seja executado em uma ampla variedade de hardwares.

Para obter mais informações, consulte /platform (opções do compilador C#).

Permite valor nulo

Especifica o contexto anulável em C# em todo o projeto. Essa opção de interface do usuário foi introduzida no Visual Studio 16.5 e só está habilitada para projetos que usam o C# 8.0 ou posterior.

Para obter mais informações, confira Contextos anuláveis.

Gerar informações de montagem

Especifica se as propriedades do projeto relacionadas ao pacote são transformadas em atributos de assembly. Para obter mais informações, consulte a propriedade GenerateAssemblyInfo .

Código não seguro

Permite a compilação do código que usa a palavra-chave unsafe. Para obter mais informações, consulte /unsafe (opções do compilador C#).

Otimizar código

Habilita ou desabilita as otimizações executadas pelo compilador para tornar o arquivo de saída menor, mais rápido e mais eficiente. Para obter mais informações, consulte /optimize (opções do compilador C#).

Símbolos de depuração

Especifica o tipo de informações de depuração geradas pelo compilador. Para obter informações sobre como configurar o desempenho de depuração de um aplicativo, consulte Opção de compilador DebugType . Essa configuração tem as seguintes opções:

  • nenhum

    Especifica que nenhuma informação de depuração será gerada.

  • completo

    Permite anexar um depurador ao programa em execução.

  • pdbonly

    Permite a depuração de código-fonte quando o programa é iniciado no depurador, mas apenas exibirá o assembler quando o programa em execução estiver anexado ao depurador.

  • portátil

    Produz um arquivo PDB, um arquivo de símbolo portátil e não específico da plataforma que fornece outras ferramentas, especialmente depuradores, informações sobre o que está no arquivo executável principal e como ele foi produzido. Consulte PDB portátil para obter mais informações.

  • inserido

    Incorpora informações de símbolo portátil no assembly. Nenhum arquivo PDB externo é produzido.

Para obter mais informações, consulte /debug (opções do compilador C#).

Configurações de compilação, erros e avisos

As configurações a seguir são usadas para configurar as opções de erro e de aviso para o processo de build.

Nível de aviso

Especifica o nível a ser exibido para avisos do compilador. Para obter mais informações, consulte /warn (opções do compilador C#).

Suprimir avisos específicos

Bloqueia a capacidade do compilador de gerar um ou mais avisos específicos. Separe vários números de aviso com uma vírgula ou um ponto-e-vírgula. Para obter mais informações, consulte /nowarn (opções do compilador C#).

Tratar avisos como erros

Selecione se os avisos são tratados como erros durante o processo de compilação. Para obter mais informações, consulte /warnaserror (opções do compilador C#).

Tratar avisos específicos como erros

Especifique quais avisos são tratados como erros. Separe vários números de aviso com uma vírgula ou um ponto-e-vírgula.

Dica

Se você não quiser que os avisos de análise de código sejam tratados como erros, confira Perguntas frequentes sobre análise de código.

Compilação, Configurações de saída

As configurações a seguir são usadas para configurar as opções de saída para o processo de build.

Caminho de saída de base

Especifica o local dos arquivos de saída para a configuração deste projeto. Insira o caminho da saída do build nessa caixa ou escolha o botão Procurar para especificar um caminho. O caminho é relativo; se você inserir um caminho absoluto, ele será salvo como relativo. O caminho padrão é bin\Debug ou bin\Release\.

Com configurações de build simplificadas, o sistema do projeto determina se é necessário compilar uma versão de depuração ou de liberação. O comando Build do menu Depurar (F5) colocará o build no local de depuração, independentemente do Caminho de saída você especificar. No entanto, o comando Build do menu Build o coloca no local especificado. Para obter mais informações, consulte Understanding Build Configurations (Noções básicas sobre configurações de build).

Assembleia de referência

Especifica se um assembly de referência que contém a API pública do projeto deve ser gerado.

Arquivo de documentação

Especifica o nome de um arquivo no qual os comentários da documentação serão processados. Para obter mais informações, consulte /doc (opções do compilador C#).

Compilação, Configurações de eventos

Para obter informações sobre as configurações de evento de compilação, consulte Especificar eventos de compilação (C#).

Configurações de compilação, publicação

Publicação

Permite que o destino de publicação do MSBuild seja executado. Para obter mais informações, consulte a propriedade MSBuild IsPublishable .

Publicar cortado

Especifica se a filtragem está habilitada durante o processo de publicação. Para obter mais informações, consulte Propriedades relacionadas a cortes.

Publicar AOT nativo

Especifica se um aplicativo autônomo e que foi compilado antecipadamente (AOT) para código nativo deve ser produzido em código nativo. Para obter mais informações, consulte Implantação do AOT nativo.

Compilação, configurações de nomenclatura fortes

Assine a assembleia

Marque essa caixa de seleção para assinar o assembly e criar um arquivo de chave de nome forte. Para obter mais informações sobre como assinar um assembly usando o Designer de Projeto, consulte Como assinar um assembly (Visual Studio). Para saber mais, confira Assemblies de nome forte.

Essa opção usa a ferramenta Al.exe fornecida pelo Software Development Kit do Windows (SDK do Windows) para assinar o assembly. Para obter mais informações sobre o Al.exe, consulte Como assinar um assembly com um nome forte.

Lista de arquivos de chave de nome forte

Permite especificar um arquivo de chave novo ou existente de nome forte que é usado para assinar o assembly. Selecione <Procurar...> para selecionar um arquivo de chave existente.

Sinal de atraso apenas

Marque essa caixa de seleção para habilitar a assinatura com atraso. Para obter mais informações, consulte Assinando um assembly com atraso.

Observe que um projeto com assinatura com atraso não será executado e não pode ser depurado. No entanto, é possível usar Sn.exe (Ferramenta de Nome Forte) com a opção -Vr para ignorar a verificação durante o desenvolvimento.

Observação

Ao assinar um assembly, talvez você nem sempre tenha acesso a uma chave privada. Por exemplo, uma organização pode ter um par de chaves bem protegido ao qual os desenvolvedores não têm acesso todos os dias. A chave pública pode estar disponível, mas o acesso à chave privada é restrito a algumas pessoas. Nesse caso, é possível usar a assinatura com atraso ou parcial para fornecer a chave pública, adiando a adição da chave privada até a entrega do assembly.

Compilação, Configurações avançadas

As opções a seguir permitem que você defina configurações avançadas de compilação.

Versão da linguagem

Links para /langversion (opções do compilador C#), que fornece informações sobre como uma versão de linguagem padrão é escolhida com base na estrutura de destino de um projeto.

Verificar se há estouro aritmético

Especifica se uma instrução de aritmética de números inteiros, que não está no escopo das palavras-chave marcadas ou desmarcadas e que resulta em um valor fora do intervalo do tipo de dados, causará uma exceção de tempo de execução. Para obter mais informações, consulte /checked (opções do compilador C#).

Determinística

Especifica se a saída equivalente byte por byte deve ser produzida da mesma fonte de entrada. Para obter mais informações, consulte Opções do compilador C# que controlam a geração de código.

Relatório de erros internos do compilador

Especifica se os erros do compilador são relatados à Microsoft. Se for definido como prompt (o padrão), você receberá um prompt se ocorrer um erro interno do compilador, fornecendo a opção de enviar um relatório de erro eletronicamente à Microsoft. Se for definido como send, um relatório de erros será enviado automaticamente. Se for definido como queue, relatórios de erros serão colocados na fila. Se for definido como none, o erro será relatado somente na saída de texto do compilador. Para obter mais informações, consulte /errorreport (opções do compilador C#).

Alinhamento de Arquivo

Especifica o tamanho das seções no arquivo de saída. Os valores válidos são 512, 1024, 2048, 4096 e 8192. Esses valores são medidos em bytes. Cada seção será alinhada em um limite que é um múltiplo desse valor, afetando o tamanho do arquivo de saída. Para obter mais informações, consulte /filealign (opções do compilador C#).

Pacote, Configurações gerais

As propriedades nesta seção são usadas para configurar pacotes, geralmente correspondentes às propriedades em um arquivo .nuspec NuGet. Para obter mais informações, consulte Arquivo .nuspec.

Pacote, Configurações de licença

Licença do pacote

Especifica se uma expressão de licença ou um arquivo de licença deve ser incluído em seu pacote. Para obter mais informações, consulte o elemento license .

Configurações de pacote, símbolo

Produzir um pacote de símbolos

Especifica se um pacote de símbolos deve ser criado para depuração. Para obter mais informações, consulte Criando pacotes de símbolos (.snupkg).

Análise de código, todas as configurações do analisador

Executar na compilação

Especifica se a análise do código-fonte deve ser executada ao compilar o projeto. Para obter mais informações, consulte Desabilitar a análise do código-fonte do .NET.

Executar em análise ao vivo

Especifica se a análise de código-fonte em tempo real deve ser executada ao criar o projeto. Para obter mais informações, consulte Desabilitar a análise do código-fonte do .NET.

Análise de código, configurações do analisador .NET

Impor estilo de código no build

Especifica se violações de estilo de código .NET são relatadas ao criar o projeto. Para obter mais informações, consulte Impor estilos de código na compilação.

Habilitar analisadores .NET

Habilita ou desabilita os analisadores de plataforma de compilador .NET (Roslyn). Para obter mais informações, consulte Habilitar ou instalar analisadores .NET primários.

Nível de análise

Especifica o conjunto de analisadores a serem executados no projeto. Para obter mais informações, consulte a seção Atualizações mais recentes no artigo Visão geral da análise de código.

Depurar, Configurações gerais

Selecione o link para abrir a interface do usuário de perfis de inicialização de depuração. Essa interface do usuário permite que você adicione e configure perfis diferentes para usar durante a depuração. Cada nome de perfil aparece como uma opção inicial na lista Iniciar Depuração .

Para projetos ASP.NET Core, as configurações na interface do usuário de perfis de inicialização correspondem às configurações no arquivo launchSettings.json do projeto. Para obter informações detalhadas sobre como esse arquivo é usado no desenvolvimento ASP.NET, consulte Desenvolvimento e launchSettings.json.

Recursos, Configurações gerais

Selecione o link para abrir o arquivo de recursos de assembly RESX. Para obter mais informações, consulte a página Configurações, Project Designer.

Confira também

Interface do usuário das propriedades renovadas do projeto