Partilhar via


Introdução a projetos e soluções

Neste tutorial, vamos explorar o que significa criar uma solução e um projeto no Visual Studio. Uma solução é um contêiner para organizar um ou mais projetos de código relacionados, como um projeto de biblioteca de classes e um projeto de teste correspondente. Você cria uma referência de um projeto para outro em uma solução. Este tutorial também descreve as propriedades de um projeto e alguns dos arquivos que ele pode conter.

Como um exercício para entender o conceito de um projeto, você cria uma solução e projeta do zero. Normalmente, usaria modelos de projeto do Visual Studio para criar novos projetos.

Neste tutorial, você aprenderá a:

  • Adicionar um item ao projeto
  • Adicionar um segundo projeto
  • Adicionar uma referência de projeto
  • Adicionar código de teste
  • Ver propriedades do projeto

Pré-requisitos

  • Se você não tiver o Visual Studio 2019, vá para de downloads do Visual Studio para instalá-lo gratuitamente.

Soluções e projetos

No Visual Studio, uma solução não é uma resposta . Uma solução é simplesmente um contêiner que o Visual Studio usa para organizar um ou mais projetos relacionados. Quando você abre uma solução, o Visual Studio carrega automaticamente todos os projetos que a solução contém.

Observação

O desenvolvimento de aplicativos no Visual Studio não requer soluções e projetos. Você pode simplesmente abrir uma pasta que contém código e começar a codificar, compilar e depurar. Por exemplo, um repositório GitHub clonado pode não conter projetos e soluções do Visual Studio. Para obter mais informações, consulte Desenvolver código no Visual Studio sem projetos ou soluções.

Criar uma solução

Comece a sua exploração criando uma solução vazia. Depois de conhecer o Visual Studio, você provavelmente não criará soluções vazias com frequência. Quando você cria um novo projeto, o Visual Studio cria automaticamente uma solução para o projeto, a menos que uma solução já esteja aberta.

  1. Abra o Visual Studio.

  2. Na janela Iniciar, selecione Criar um novo projeto.

  3. Na página Criar um novo projeto, insira solução em branco na caixa de pesquisa, selecione o modelo Solução em Branco e, em seguida, selecione Avançar.

    Captura de tela que mostra um modelo de Solução em Branco selecionado no Visual Studio 2019.

    Dica

    Se tiver várias cargas de trabalho instaladas, o modelo Solução em Branco pode não aparecer na parte superior da lista de resultados da pesquisa. Tente rolar até à seção Outros resultados com base na sua pesquisa na lista. Deverá aparecer lá.

  4. Nomeie a solução QuickSolutione selecione Criar.

    Uma solução aparece no Gerenciador de Soluções no lado direito da janela do Visual Studio. Você provavelmente usará Explorador de Soluções frequentemente, para procurar o conteúdo de seus projetos.

  1. Abra o Visual Studio e, na janela Iniciar, selecione Criar um novo projeto .

  2. Na página Criar um novo projeto, digite solução em branco na caixa de pesquisa, selecione o modelo Solução em Branco e, em seguida, selecione Avançar.

    Captura de tela que mostra um modelo de Solução em Branco selecionado no Visual Studio.

    Dica

    Se tiver várias cargas de trabalho instaladas, o modelo Solução em Branco pode não aparecer na parte superior da lista de resultados da pesquisa. Tente percorrer outros resultados com base na sua pesquisa para encontrar o modelo.

  3. Na página Configurar seu novo projeto, nomeie a solução QuickSolutione selecione Criar.

    A solução QuickSolution aparece no Explorador de Soluções no lado direito da janela do Visual Studio. Você usará Gerenciador de Soluções frequentemente para procurar o conteúdo de seus projetos.

Adicionar um projeto

Agora adicione seu primeiro projeto à solução. Comece com um projeto vazio e adicione os itens necessários.

  1. No Explorador de Soluções, clique com o botão direito em Solução 'QuickSolution'. No menu de contexto, selecione Adicionar>Novo Projeto.

    É aberta uma caixa de diálogo que diz Adicionar um novo projeto.

  2. Introduza o texto vazio na caixa de pesquisa na parte superior e, em seguida, selecione C# em Language.

  3. Selecione o modelo de Projeto Vazio (.NET Framework) e depois selecione Avançar.

  4. Nomeie o projeto QuickDatee, em seguida, selecione Criar.

    Um projeto chamado QuickDate aparece abaixo da solução em Gerenciador de Soluções. Atualmente ele contém um único arquivo chamado App.config.

    Observação

    Se não vir o modelo Projeto Vazio (.NET Framework), deverá instalar a carga de trabalho de desenvolvimento de área de trabalho .NET do Visual Studio. Visual Studio usa a instalação baseada em carga de trabalho para instalar apenas os componentes que você precisa para o tipo de desenvolvimento que você faz.

    Uma maneira fácil de instalar uma nova carga de trabalho quando você está criando um novo projeto é selecionar o link Instalar mais ferramentas e recursos abaixo do texto que diz Não encontrou o que procura?. Depois que o Visual Studio Installer for iniciado, selecione o de trabalho de desenvolvimento da área de trabalho .NET e, em seguida, o botão Modificar.

    Captura de tela que mostra o link Open Visual Studio Installer.

  1. No Explorador de Soluções, clique com o botão direito em Solução 'QuickSolution'. No menu de contexto, selecione Adicionar>Novo Projeto.

  2. Na página Adicionar um novo projeto, digite vazio na caixa de pesquisa na parte superior e selecione C# em Todos os idiomas.

  3. Selecione o template C# Projeto Vazio (.NET Framework) e, em seguida, selecione Avançar.

    Observação

    Visual Studio usa a instalação baseada em carga de trabalho para instalar apenas os componentes que você precisa para o tipo de desenvolvimento que você faz. Se não vir o modelo Projeto Vazio (.NET Framework), instale a carga de trabalho de desenvolvimento de área de trabalho .NET do Visual Studio.

    Uma maneira fácil de instalar uma nova carga de trabalho ao criar um novo projeto é selecionar a ligação Instalar mais ferramentas e funcionalidades debaixo do texto que diz Não encontra o que procura?. No instalador do Visual Studio, selecione a carga de trabalho de desenvolvimento desktop .NET e, em seguida, selecione Modificar.

    Captura de tela que mostra o link Open Visual Studio Installer.

  4. Na página Configurar o seu novo projeto, dê o nome ao projeto QuickDatee selecione Criar.

    O projeto QuickDate aparece na solução no Solution Explorer. O projeto contém um nó Referências e um único ficheiro chamado App.config.

Adicionar um item ao projeto

Adicione um arquivo de código ao seu projeto vazio.

  1. No Explorador de Soluções, clique com o botão direito do rato no projeto QuickDate. No menu de contexto, selecione Adicionar>Novo Item.

    A caixa de diálogo Adicionar Novo Item é aberta. Selecione Mostrar todos os modelos se a caixa de diálogo abrir no modo de exibição compacto.

  2. Expanda Visual C# Itemse, em seguida, selecione Code. No painel central, selecione o modelo de item Classe. Em Nome, escreva Calendárioe, em seguida, selecione Adicionar.

    Visual Studio adiciona um arquivo chamado Calendar.cs ao projeto. O .cs no final é a extensão de arquivo para arquivos de código C#. O arquivo Calendar.cs aparece no Gerenciador de Soluções hierarquia de projeto visual e o arquivo é aberto no editor.

  3. Substitua o conteúdo do arquivo Calendar.cs com o seguinte código:

    using System;
    
    namespace QuickDate
    {
        internal class Calendar
        {
            static void Main(string[] args)
            {
                DateTime now = GetCurrentDate();
                Console.WriteLine($"Today's date is {now}");
                Console.ReadLine();
            }
    
            internal static DateTime GetCurrentDate()
            {
                return DateTime.Now.Date;
            }
        }
    }
    

    Você não precisa entender tudo o que o código está fazendo ainda. Execute o aplicativo pressionando Ctrl+F5. A aplicação imprime a data de hoje na janela do console, ou na saída padrão. Em seguida, feche a janela do console.

Adicionar um segundo projeto

As soluções geralmente contêm mais de um projeto, e esses projetos geralmente fazem referência uns aos outros. Alguns projetos em uma solução podem ser bibliotecas de classes, alguns podem ser aplicativos executáveis e alguns podem ser projetos de teste de unidade ou sites.

Para adicionar um projeto de teste de unidade à sua solução, comece a partir de um modelo de projeto para que você não precise adicionar outro arquivo de código ao projeto.

  1. No Explorador de Soluções, clique com o botão direito em Solução 'QuickSolution'. No menu de contexto, selecione Adicionar Novo Projeto>.

  2. Na caixa de diálogo Adicionar um novo projeto, insira o texto teste de unidade na caixa de pesquisa na parte superior e selecione C# em Linguagem.

  3. Selecione o modelo de projeto Projeto de Teste de Unidade para .NET Core e, em seguida, selecione Avançar.

    Observação

    A partir do Visual Studio 2019 versão 16.9, o nome do modelo de projeto MSTest foi alterado de MSTest Unit Test Project (.NET Core) para Unit Test Project. Várias etapas na criação do projeto foram alteradas nesta atualização.

  4. Nomeie o projeto como QuickTeste depois selecione Avançar.

  5. Escolha a estrutura de destino recomendada (.NET Core 3.1) ou .NET 5 e, em seguida, escolha Criar.

    Um segundo projeto é adicionado ao Gerenciador de Soluções e um arquivo chamado UnitTest1.cs é aberto no editor.

    Captura de tela que mostra o Gerenciador de Soluções com dois projetos.

  1. No Explorador de Soluções, clique com o botão direito em Solução 'QuickSolution'. No menu de contexto, selecione Adicionar Novo Projeto>.

  2. Na caixa de diálogo Adicionar um novo projeto, digite teste de unidade na caixa de pesquisa na parte superior, e depois selecione C# sob Todos os idiomas.

  3. Selecione o modelo de projeto C# Unit Test Project (.NET Framework) e, em seguida, selecione Next.

  4. Na página Configurar seu novo projeto, nomeie o projeto QuickTeste selecione Criar.

    O Visual Studio adiciona o projeto QuickTest a Gerenciador de Soluçõese o arquivo UnitTest1.cs é aberto no editor.

    Captura de tela que mostra o Gerenciador de Soluções com dois projetos.

Adicionar uma referência de projeto

Para usar o novo projeto de teste de unidade para testar o seu método no projeto QuickDate, precisa adicionar uma referência ao projeto QuickDate no projeto QuickTest. Adicionar a referência cria uma dependência de compilação entre os dois projetos. Ao construir a solução, QuickDate é compilado antes de QuickTest.

  1. Clique com o botão direito do mouse no nó Dependências no projeto QuickTest. No menu de contexto, selecione Adicionar referência de projeto.

    A caixa de diálogo Reference Manager é aberta.

  2. No painel esquerdo, expanda Projetose, em seguida, selecione Solução. No painel central, marque a caixa de seleção ao lado de QuickDatee, em seguida, selecione OK.

    Uma referência ao projeto QuickDate é adicionada.

    Captura de tela do Gerenciador de Soluções mostrando uma referência de projeto no Visual Studio 2019.

  1. No Gerenciador de Soluções , clique com o botão direito do mouse no nó Referências do projeto QuickTest. No menu de contexto, selecione Adicionar referência.

  2. Na caixa de diálogo do Gerenciador de Referências, selecione Projetos. No painel central, marque a caixa de seleção ao lado de QuickDatee, em seguida, selecione OK.

    Uma referência ao projeto QuickDate aparece sob o projeto QuickTest no Gerenciador de Soluções .

    Captura de tela do Gerenciador de Soluções mostrando uma referência de projeto.

Adicionar código de teste

  1. Agora adicione o código de teste ao arquivo de código de teste C#. Substitua o conteúdo do UnitTest1.cs pelo seguinte código:

    using System;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace QuickTest
    {
        [TestClass]
        public class UnitTest1
        {
            [TestMethod]
            public void TestGetCurrentDate()
            {
                Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate());
            }
        }
    }
    

    Surge um rabisco vermelho debaixo de parte do código. Você pode corrigir esse erro tornando o projeto de teste um assembly amigo para o QuickDate projeto.

  2. No arquivo Calendar.cs, adicione a seguinte usando a instrução e InternalsVisibleToAttribute atributo à parte superior do arquivo para resolver o erro no projeto de teste.

    using System.Runtime.CompilerServices;
    
    [assembly: InternalsVisibleTo("QuickTest")]
    

    O código Calendar.cs deve ser semelhante a esta captura de tela:

    Captura de tela que mostra o código C Sharp.

    Captura de tela que mostra o código C Sharp.

Executar o teste de unidade

Para verificar se o teste de unidade está funcionando, na barra de menus, escolha Testar>Executar todos os testes. A janela Test Explorer abre, e deve ver que o teste TestGetCurrentDate teve sucesso.

Captura de tela que mostra o Test Explorer com um teste aprovado.

Captura de tela que mostra o Test Explorer com um teste aprovado.

Dica

Você também pode abrir Explorador de Teste escolhendo Teste>Explorador de Teste na barra de menus.

Propriedades do projeto

A linha no ficheiro Calendar.cs que contém o atributo InternalsVisibleToAttribute faz referência ao nome do assembly ou ao nome do ficheiro do projeto QuickTest. O nome do assembly pode nem sempre ser o mesmo que o nome do projeto. Para localizar o nome do assembly de um projeto, use as propriedades do projeto. As páginas de propriedades contêm várias configurações para o projeto.

  1. No Gerenciador de Soluções , clique com o botão direito do mouse no projeto QuickTest e selecione Propriedades, ou selecione o projeto e pressione Alt+Enter.

    As páginas de propriedades para o projeto abertas na guia Aplicativo. O nome Assembly do projeto QuickTest é realmente QuickTest.

    Se quiser, pode alterar o nome aqui. Quando você cria o projeto de teste, o nome do arquivo binário resultante muda de QuickTest.dll para <NewName>.dll.

    Captura de tela que mostra as propriedades do projeto.

  2. Explore algumas das outras guias das páginas de propriedades do projeto, como Build e Debug. Essas guias são diferentes para diferentes tipos de projetos.