Introdução a projetos e soluções
Neste tutorial, você 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 um projeto do zero. Normalmente, você usaria os 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
- Exibir propriedades do Projeto
Pré-requisitos
- Se você não tiver o Visual Studio 2019, acesse a página de downloads do Visual Studio para instalá-lo gratuitamente.
- Se você não tiver o Visual Studio, acesse 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.
Nota
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 iniciar a codificação, a criação e a depuração. 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
Inicie 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.
Abra o Visual Studio.
Na janela inicial, selecione Criar um novo projeto.
Na página Criar um projeto, insira solução em branco na caixa de pesquisa, selecione o modelo Solução em Branco e selecione Avançar.
Dica
Se você tiver várias cargas de trabalho instaladas, o modelo Solução em Branco poderá não aparecer na parte superior da lista de resultados da pesquisa. Tente rolar para a seção Outros resultados com base na sua pesquisa da lista. Ela deve ser exibida lá.
Nomeie a solução QuickSolution e selecione Criar.
Uma solução aparece no Gerenciador de Soluções no lado direito da janela do Visual Studio. Você provavelmente usará Gerenciador de Soluções com frequência, para navegar pelo conteúdo de seus projetos.
Abra o Visual Studio e, na janela inicial, selecione Criar um novo projeto.
Na página Criar um projeto, insira solução em branco na caixa de pesquisa, selecione o modelo Solução em Branco e selecione Avançar.
Dica
Se você tiver várias cargas de trabalho instaladas, o modelo Blank Solution talvez não apareça no topo da sua lista de resultados da pesquisa. Tente rolar por Outros resultados com base na sua pesquisa para localizar o modelo.
Na página Configurar seu novo projeto, dê o nome de QuickSolutionà solução e, em seguida, selecione Criar.
A solução QuickSolution aparece no Gerenciador de Soluções à direita da janela do Visual Studio. Você usará Gerenciador de Soluções com frequência para navegar pelo 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.
No Gerenciador de Soluções, clique com o botão direito do mouse na solução 'QuickSolution'. No menu de contexto, selecione Adicionar>Novo Projeto.
Uma caixa de diálogo é aberta que diz Adicionar um novo projeto.
Insira o texto vazio na caixa de pesquisa na parte superior e, em seguida, selecione C# em Linguagem de programação.
Selecione o modelo Projeto Vazio (.NET Framework) e, em seguida, Avançar.
Nomeie o projeto QuickDatee selecione Criar.
Um projeto chamado QuickDate aparece abaixo da solução no do Gerenciador de Soluções. Atualmente, ele contém um único arquivo chamado App.config.
Nota
Se você não visualizar o modelo Projeto Vazio (.NET Framework), instale a carga de trabalho do Visual Studio de Desenvolvimento para desktop do .NET. O Visual Studio usa a instalação baseada em carga de trabalho para instalar apenas os componentes necessários para o tipo de desenvolvimento que você faz.
Uma maneira fácil de instalar uma nova carga de trabalho ao criar um novo projeto é selecionar o link Instalar mais ferramentas e recursos abaixo do texto que diz Não encontrar o que você está procurando?. Depois que o Visual Studio Installer for iniciado, selecione a carga de trabalho Desenvolvimento para desktop do .NET e, em seguida, o botão Modificar.
No Gerenciador de Soluções, clique com o botão direito do mouse na solução 'QuickSolution'. No menu de contexto, selecione Adicionar>Novo Projeto.
Na página Adicionar um novo projeto, digite vazio na caixa de pesquisa na parte superior e selecione C# em Todas as linguagens de programação.
Selecione o modelo C# Projeto Vazio (.NET Framework) e, em seguida, Avançar.
Nota
O Visual Studio usa a instalação baseada em carga de trabalho para instalar apenas os componentes necessários para o tipo de desenvolvimento que você faz. Se você não vir o modelo de Projeto Vazio (.NET Framework), instale a carga de trabalho de Desenvolvimento para Desktop com .NET do Visual Studio.
Uma maneira fácil de instalar uma nova carga de trabalho ao criar um novo projeto é selecionar o link Instalar mais ferramentas e recursos no texto que diz Não encontrar o que você está procurando?. No Visual Studio Installer, selecione a carga de trabalho de Desenvolvimento para desktop do .NET e, em seguida, escolha Modificar.
Na página Configurar seu novo projeto, nomeie o projeto QuickDatee selecione Criar.
O projeto QuickDate aparece na solução em Gerenciador de Soluções. O projeto contém um nó Referências e apenas um arquivo chamado App.config.
Adicionar um item ao projeto
Adicione um arquivo de código ao seu projeto vazio.
No Gerenciador de Soluções, clique com o botão direito do mouse 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 for aberta no modo de exibição compacto.
Expanda Itens do Visual C#e selecione Código. No painel do meio, selecione o template de item Classe. Em Nome, digite Calendárioe selecione Adicionar.
O 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 na hierarquia visual do Gerenciador de Soluções, e o arquivo é aberto no editor.Substitua o conteúdo do arquivo Calendar.cs pelo 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ê ainda não precisa entender tudo o que o código está fazendo. Execute o aplicativo pressionando Ctrl+F5. O aplicativo imprime a data de hoje no console ou na janela de 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.
No Gerenciador de Soluções, clique com o botão direito do mouse na solução 'QuickSolution'. No menu de contexto, selecione Adicionar>Novo Projeto.
Na caixa de diálogo Adicionar um novo projeto, insira o texto teste de unidade na caixa de pesquisa na parte superior e, em seguida, selecione C# em Linguagem de programação.
Selecione o modelo de projeto Projeto de Teste de Unidade para .NET Core e, em seguida, selecione Avançar.
Nota
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.
Dê um nome ao projeto QuickTeste depois selecione Próximo.
Escolha a estrutura de destino recomendada (.NET Core 3.1) ou o .NET 5 e escolha Criar.
Um segundo projeto é adicionado ao do Gerenciador de Soluções e um arquivo chamado UnitTest1.cs é aberto no editor.
No Gerenciador de Soluções, clique com o botão direito do mouse na solução 'QuickSolution'. No menu de contexto, selecione Adicionar>Novo Projeto.
Na caixa de diálogo Adicionar um novo projeto, insira teste de unidade na caixa de pesquisa na parte superior e, em seguida, selecione C# em Todas as linguagens de programação.
Selecione o modelo de projeto #C Projeto de Teste de Unidade (.NET Framework) e selecione Avançar.
Na página Configurar seu novo projeto, nomeie o projeto QuickTest e selecione Criar.
O Visual Studio adiciona o projeto QuickTest ao Gerenciador de Soluções, e o arquivo UnitTest1.cs é aberto no editor.
Adicionar uma referência de projeto
Para usar o novo projeto de teste de unidade para testar seu método no projeto QuickDate, você precisa adicionar uma referência ao projeto QuickDate no projeto QuickTest. Adicionar a referência cria uma dependência de build entre os dois projetos. Quando você cria a solução, QuickDate é compilado antes de QuickTest.
Clique com o botão direito do mouse no nó Dependências no projeto QuickTest. No menu de contexto, selecione Adicionar Referência do Projeto.
A caixa de diálogo Gerenciador de Referências é aberta.
No painel esquerdo, expanda Projetos e selecione Solução. No painel do meio, marque a caixa de seleção ao lado de QuickDatee selecione OK.
Uma referência ao projeto QuickDate será adicionada.
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.
Na caixa de diálogo Gerenciador de Referências, selecione Projetos. No painel do meio, marque a caixa de seleção ao lado de QuickDatee selecione OK.
Uma referência ao projeto QuickDate aparece no projeto QuickTest em Gerenciador de Soluções.
Adicionar código de teste
Agora, adicione o código de teste ao arquivo de código de teste em C#. Substitua o conteúdo de 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()); } } }
Uma linha sinuosa vermelha aparece em alguns dos códigos. É possível corrigir esse erro ao tornar o projeto de teste um assembly amigável para o projeto QuickDate.
No arquivo Calendar.cs, adicione a instrução using e o atributo InternalsVisibleToAttribute a seguir no início 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:
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 Gerenciador de Testes será aberta e você verá que o teste TestGetCurrentDate será aprovado.
Dica
Abra também o Gerenciador de Testes escolhendo Teste>Gerenciador de Testes na barra de menu.
Propriedades do projeto
A linha no arquivo Calendar.cs que contém o atributo InternalsVisibleToAttribute faz referência ao nome do assembly ou ao nome do arquivo do projeto QuickTest. O nome do assembly pode não ser sempre 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.
Em 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 do projeto são abertas na guia Aplicativo. O nome do assembly do projeto QuickTest é, de fato, QuickTest.
Se desejar, você 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.
Explore algumas das outras guias das páginas de propriedades do projeto, como Compilar e Depurar. Essas guias são diferentes para diferentes tipos de projetos.