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:
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
sejaAsInvoker
. 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.