Saiba mais sobre projetos e soluções usando Visual Basic
Neste artigo introdutório, exploraremos o que significa criar uma solução e um projeto no Visual Studio. Uma solução é um contêiner usado para organizar um ou mais projetos de código relacionados, por exemplo, um projeto de biblioteca de classes e um projeto de teste correspondente. Vamos examinar as propriedades de um projeto e alguns dos arquivos que ele pode conter. Também criaremos uma referência de um projeto a outro.
Dica
Se você ainda não tiver instalado o Visual Studio, acesse a página Downloads do Visual Studio para instalá-lo gratuitamente.
Desenvolveremos uma solução e um projeto do zero como um exercício educacional para compreendermos o conceito de um projeto. Em seu uso geral do Visual Studio, você provavelmente usará alguns dos vários modelos de projeto oferecidos pelo Visual Studio quando estiver criando um projeto.
Observação
As soluções e os projetos não precisam desenvolver aplicativos no Visual Studio. Você também pode apenas abrir uma pasta que contém o código e começar a codificar, compilar e depurar. Por exemplo, se você clonar um repositório GitHub, ele poderá não conter projetos nem soluções do Visual Studio. Para obter mais informações, consulte Desenvolver código no Visual Studio sem projetos nem soluções.
Soluções e projetos
Apesar do nome, uma solução não é uma "resposta". Uma solução é apenas um contêiner usado pelo Visual Studio para organizar um ou mais projetos relacionados. Quando você abre uma solução no Visual Studio, ele carrega automaticamente todos os projetos que a solução contém.
Criar uma solução
Vamos iniciar nossa exploração criando uma solução vazia. Depois de se familiarizar com o Visual Studio, você provavelmente não vai se criar soluções vazias com frequência. Quando você cria um projeto, o Visual Studio cria automaticamente uma solução para hospedar o projeto, caso não haja uma solução já aberta.
Abra o Visual Studio.
Na tela Iniciar, selecione Criar um novo projeto.
Na página Criar um novo projeto, insira solução em branco na caixa de pesquisa, selecione o modelo Solução em Branco e escolha Avançar.
Nomeie a solução como QuickSolution e escolha Criar.
A solução aparece no Gerenciador de Soluções do lado direito da janela do Visual Studio. Você provavelmente usará o Gerenciador de Soluções muitas vezes para navegar pelo conteúdo de seus projetos.
Abra o Visual Studio.
Na tela Iniciar, selecione Criar um novo projeto.
Na página Criar um novo projeto, insira solução em branco na caixa de pesquisa, selecione o modelo Solução em Branco e escolha Avançar.
Nomeie a solução como QuickSolution e escolha Criar.
A solução aparece no Gerenciador de Soluções do lado direito da janela do Visual Studio. Você provavelmente usará o Gerenciador de Soluções muitas vezes para navegar pelo conteúdo de seus projetos.
Adicionar um projeto
Agora vamos adicionar nosso primeiro projeto à solução. Vamos começar com um projeto vazio e adicionar os itens necessários ao projeto.
Ao clicar com o botão direito do mouse ou no menu de contexto da Solução ‘QuickSolution’ no Gerenciador de Soluções, escolha Adicionar>Novo Projeto.
Uma caixa de diálogo é aberta com o título Adicionar um novo projeto.
Insira o texto vazio na caixa de pesquisa na parte superior e, em seguida, selecione Visual Basic em Idioma.
Selecione o modelo Projeto Vazio (.NET Framework) e, em seguida, Avançar.
Nomeie o projeto QuickDate e, em seguida, escolha Criar.
Um projeto chamado QuickDate é exibido abaixo da solução no Gerenciador de Soluções. Atualmente, ele contém um único arquivo chamado App.config.
Observação
Se você não vir o modelo Projeto Vazio (.NET Framework), será necessário instalar a carga de trabalho do Visual Studio de desenvolvimento para área de trabalho do .NET. O Visual Studio usa a instalação baseada em carga de trabalho para instalar somente os componentes necessários para o tipo de desenvolvimento realizado. Uma maneira fácil de instalar uma nova carga de trabalho ao criar um projeto é escolher o link Instalar mais ferramentas e recursos no texto que informa Não encontra o que você está procurando?. Após o início do Instalador do Visual Studio, escolha a carga de trabalho Desenvolvimento para área de trabalho em .NET e, em seguida, o botão Modificar.
Ao clicar com o botão direito do mouse ou no menu de contexto da Solução ‘QuickSolution’ no Gerenciador de Soluções, escolha Adicionar>Novo Projeto.
Uma caixa de diálogo é aberta com o título Adicionar um novo projeto.
Insira o texto vazio na caixa de pesquisa na parte superior e, em seguida, selecione Visual Basic na lista suspensa Todos os idiomas.
Selecione o modelo Projeto Vazio (.NET Framework) e, em seguida, Avançar.
Nomeie o projeto QuickDate e, em seguida, escolha Criar.
Um projeto chamado QuickDate é exibido abaixo da solução no Gerenciador de Soluções. Atualmente, ele contém um único arquivo chamado App.config.
Observação
Se você não vir o modelo Projeto Vazio (.NET Framework), será necessário instalar a carga de trabalho do Visual Studio de desenvolvimento para área de trabalho do .NET. O Visual Studio usa a instalação baseada em carga de trabalho para instalar somente os componentes necessários para o tipo de desenvolvimento realizado. Uma maneira fácil de instalar uma nova carga de trabalho ao criar um projeto é escolher o link Instalar mais ferramentas e recursos no texto que informa Não encontra o que você está procurando?. Após o início do Instalador do Visual Studio, escolha a carga de trabalho Desenvolvimento para área de trabalho em .NET e, em seguida, o botão Modificar.
Adicionar um item ao projeto
Temos um projeto vazio. Vamos adicionar um arquivo de código.
No menu de clique com o botão direito do mouse ou de contexto do projeto QuickDate no Gerenciador de Soluções, escolha Adicionar>Novo Item.
A caixa de diálogo Adicionar Novo Item é aberta.
Expanda Itens Comuns e, em seguida, escolha Código. No painel central, escolha o modelo de item Classe. Nomeie a classe Calendar e, em seguida, escolha o botão Adicionar.
Um arquivo chamado Calendar.vb é adicionado ao projeto. O .vb no final é a extensão de arquivo fornecida a arquivos de código Visual Basic. O arquivo é exibido na hierarquia do projeto visual no Gerenciador de Soluções e seu conteúdo é aberto no editor.
Substitua o conteúdo do arquivo Calendar.vb pelo seguinte código:
Class Calendar Public Shared Function GetCurrentDate() As Date Return DateTime.Now.Date End Function End Class
A classe
Calendar
contém uma única função,GetCurrentDate
, que retorna a data atual.Abra as propriedades do projeto clicando duas vezes em Meu Projeto no Gerenciador de Soluções. Na guia Aplicativo, altere Tipo de aplicativo para Biblioteca de Classes. Essa etapa é necessária compilar o projeto com êxito.
Compile o projeto clicando com o botão direito do mouse em QuickDate no Gerenciador de Soluções e escolhendo Compilar. Você deverá ver uma mensagem de build bem-sucedido na Janela de Saída.
Adicionar um segundo projeto
É comum que as soluções contenham mais de um projeto e que, geralmente, esses projetos referenciem uns aos outros. Alguns projetos em uma solução podem ser bibliotecas de classes, alguns aplicativos executáveis e outros podem ser projetos de teste de unidade ou sites.
Vamos adicionar um projeto de teste de unidade em nossa solução. Desta vez, começaremos com um modelo de projeto, de modo que não precisemos adicionar outro arquivo de código ao projeto.
- Ao clicar com o botão direito do mouse ou no menu de contexto da Solução ‘QuickSolution’ no Gerenciador de Soluções, escolha 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 Visual Basic em Idioma.
Escolha o modelo de Projeto de Teste de Unidade (.NET Framework) e escolha Avançar.
Nomeie o projeto QuickTest e escolha Criar.
Um segundo projeto é adicionado ao Gerenciador de Soluções e um arquivo chamado UnitTest1.vb é aberto no editor.
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 Visual Basic em Todos os idiomas.
Escolha o modelo de Projeto de Teste de Unidade (.NET Framework) e escolha Avançar.
Nomeie o projeto QuickTest e escolha Criar.
Um segundo projeto é adicionado ao Gerenciador de Soluções e um arquivo chamado UnitTest1.vb é aberto no editor.
Adicionar uma referência ao projeto
Vamos usar o novo projeto de teste de unidade para testar nosso método no projeto QuickDate. Portanto, precisamos adicionar uma referência a esse projeto. A referência cria uma dependência de build entre os dois projetos, o que significa que quando a solução é criada, o QuickDate é criado antes do QuickTest.
Escolha o nó Referências no projeto QuickTest e, ao clicar com o botão direito do mouse ou no menu de contexto, escolha Adicionar Referência.
A caixa de diálogo Gerenciador de Referências é aberta.
No painel esquerdo, expanda Projetos e escolha Solução. No painel central, escolha a caixa de seleção ao lado de QuickDate e, em seguida, escolha o botão OK.
Uma referência ao projeto QuickDate será adicionada.
Escolha o nó Referências no projeto QuickTest e, ao clicar com o botão direito do mouse ou no menu de contexto, escolha Adicionar Referência.
A caixa de diálogo Gerenciador de Referências é aberta.
No painel esquerdo, expanda Projetos e escolha Solução. No painel central, escolha a caixa de seleção ao lado de QuickDate e, em seguida, escolha o botão OK.
Uma referência ao projeto QuickDate será adicionada.
Adicionar código de teste
Agora vamos adicionar o código de teste para o arquivo de código do Visual Basic. Substitua o conteúdo do UnitTest1.vb pelo seguinte código.
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Class
Você verá uma linha sinuosa vermelha em alguns dos códigos. Nós corrigiremos esse erro ao tornar o projeto de teste um assembly amigável para o projeto QuickDate.
De volta ao projeto QuickDate, abra o arquivo Calendar.vb caso ele ainda não esteja aberto e adicione a instrução Imports a seguir e o atributo InternalsVisibleToAttribute para resolver o erro no projeto de teste.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
O arquivo de código deve ter esta aparência:
Agora vamos adicionar o código de teste para o arquivo de código do Visual Basic. Substitua o conteúdo do UnitTest1.vb pelo seguinte código.
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Class
Você verá uma linha sinuosa vermelha em alguns dos códigos. Nós corrigiremos esse erro ao tornar o projeto de teste um assembly amigável para o projeto QuickDate.
De volta ao projeto QuickDate, abra o arquivo Calendar.vb caso ele ainda não esteja aberto e adicione a instrução Imports a seguir e o atributo InternalsVisibleToAttribute para resolver o erro no projeto de teste.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
O arquivo de código deve ter esta aparência:
Propriedades do projeto
A linha no arquivo Calendar.vb que contém o atributo InternalsVisibleToAttribute referencia o nome do assembly (nome de 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, abra as propriedades do projeto.
No Gerenciador de Soluções, selecione o projeto QuickTest. Ao clicar com o botão direito do mouse ou no menu de contexto, selecione Propriedades ou pressione Alt+Enter. (Você também pode clicar duas vezes em Meu Projeto no Gerenciador de Soluções.)
As páginas de propriedades do projeto são abertas na guia Aplicativo. As páginas de propriedades contêm várias configurações para o projeto. Observe que o nome do assembly do projeto QuickTest é, de fato, “QuickTest”. Caso deseje alterá-lo, este é o local para executar essa tarefa. Assim, quando você compilar o projeto de teste, o nome do arquivo binário resultante será alterado de QuickTest.dll para o que você escolher.
Explore algumas das outras guias das páginas de propriedades do projeto, como Compilar e Configurações. Essas guias são diferentes para diferentes tipos de projetos.
A linha no arquivo Calendar.vb que contém o atributo InternalsVisibleToAttribute faz referência ao nome do assembly (nome de 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, abra as propriedades do projeto.
No Gerenciador de Soluções, selecione o projeto QuickTest. Ao clicar com o botão direito do mouse ou no menu de contexto, selecione Propriedades ou pressione Alt+Enter. (Você também pode clicar duas vezes em Meu Projeto no Gerenciador de Soluções.)
As páginas de propriedades do projeto são abertas na guia Aplicativo. As páginas de propriedades contêm várias configurações para o projeto. Observe que o nome do assembly do projeto QuickTest é, de fato, “QuickTest”. Caso deseje alterá-lo, este é o local para executar essa tarefa. Assim, quando você compilar o projeto de teste, o nome do arquivo binário resultante será alterado de QuickTest.dll para o que você escolher.
Explore algumas das outras guias das páginas de propriedades do projeto, como Compilar e Configurações. Essas guias são diferentes para diferentes tipos de projetos.
(Opcional) Executar o teste
Se você quiser verificar se seu teste de unidade está funcionando, selecione Teste>Executar>Todos os Testes na barra de menus. Uma janela chamada Gerenciador de Testes será aberta e você verá que o teste TestGetCurrentDate será aprovado.
Dica
Se o Gerenciador de Testes não abrir automaticamente, abra-o escolhendo Teste>Windows>Gerenciador de Testes na barra de menus.
Se quiser verificar se seu teste de unidade está funcionando, selecione Teste>Executar todos os testes na barra de menu. Uma janela chamada Gerenciador de Testes será aberta e você verá que o teste TestGetCurrentDate será aprovado.
Dica
Se o Gerenciador de Testes não abrir automaticamente, abra-o escolhendo Teste>Windows>Gerenciador de Testes na barra de menus.
Próximas etapas
Caso deseje explorar ainda mais o Visual Studio, considere a possibilidade de criar um aplicativo seguindo um dos tutoriais do Visual Basic.