Visual Studio Code e ASP.NET 5 no Linux Ubuntu – Heber Ortiz Pereira
Heber Ortiz Pereira.NET e TFS parecem, mas não são mágicos Menu Quem?
Visual Studio Code e ASP.NET 5 no Linux Ubuntu	Posted on 25 de maio de 201525 de maio de 2015 by Heber	Com o lançamento do CoreCLR e do ASP.NET 5, a Microsoft tornou o trabalho de rodar aplicações .NET em ambientes não Microsoft algo relativamente simples. O projeto Mono (que já existe há um bom tempo para esse porte) está diretamente suportado pela Microsoft e as oportunidades para quem usa Linux ou Mac melhoraram.
O Visual Studio Code, ambiente de desenvolvimento lançado no Build 2015, é multi-plataforma e oferece bons recursos para quem programa, como Intellisense, navegação e refactoring. Ele não possui todos os recursos do Visual Studio tradicional, mas os que existem ajudam bem. Além disso, para aqueles que gostam de focar no código, o VS Code é uma excelente opção.
No entanto, preparar uma máquina Linux para rodar o .NET pode ser um pouco trabalhoso. Neste post, vou mostrar o passo a passo de como preparar esse ambiente.
Instalando o ASP.NET e o DNX no Ubuntu
O primeiro passo é instalar o Mono. É importante que a versão seja igual ou superior a 4.0.1. Para isso, abra o terminal no Ubuntu e execute os seguintes comandos:
(Dica: pressione CTRL-ALT-T para abrir o terminal)
O download e instalação do mono pode demorar algum tempo.
Ao término da instalação, verifique se a versão correta do Mono foi instalada e tudo está funcionando usando o comando:
Instalando o Libuv
O libuv é a plataforma usada pelo KestrelHttpServer que servirá de host para nossas aplicações ASP.NET. Os comandos de instalação estão abaixo:
Agora, é a hora de instalar o DNVM (.NET Version Manager). É com ele que gerenciamos as versões do .NET que serão utilizadas no nosso ambiente, seja em Linux, Mac ou Windows.
Se o DNVM foi instalado corretamente, digitar dnvm no terminal deve retornar esse resultado:
Instalando o DNX
O DNX (.NET Execution Enviroment) é o responsável por rodar nossas aplicações .NET, seja ela uma aplicação Console ou Web. Quando usamos o Visual Studio no Windows, ele quem está por trás de uma aplicação vNext.
Quando usamos o comando dnvm list é exibido uma lista das versões do DNX instalado. No meu caso, em uma instalação limpa, nada está instalado:
Então, usamos o comando dnvm upgrade e a versão mais atual do DNX é instalada (atualmente, a 1.0.0-beta4).
Agora, se usarmos o comando dnvm list, essa versão do DNX é exibida e é a ativa.
Para testar se os paths estão corretos, execute o comando dnx e você deve ver algo como abaixo:
Ferramentas adicionais (GIT, Node.js e Yeoman)
O Visual Studio Code não vem com templates para criação de uma aplicação .NET. Por isso, precisamos de algumas ferramentas extras para criar um projeto inicial para gente. O Yeoman é uma ferramenta de Scaffolding que quebra esse galho para gente. Ele roda no Node.js, por isso precisamos dele. Vamos também precisar do GIT para fazer o restore de alguns packages no nosso template do ASP.NET. Então, vamos instala-lo também.
O GIT é bem simples de ser instalado. Basta baixá-lo pelo apt-get do Ubuntu com o comando:
Os comandos abaixo, instalam o Node .js no Ubuntu:
Precisamos também instalar o NPM, o gerenciador de pacotes do Node.js.
Instalando o Yeoman, Bower e Grunt
Chegou a hora do Yeoman, a nossa ferramenta de scaffolding, que irá criar os templates iniciais para nossos projetos. Para não termos problemas de permissão no momento de executa-los, vamos configurar o NPM para adicionar seus pacotes em uma pasta de nossa propriedade. No meu caso, estou criando uma pasta chamada dev para meus projetos e uma subpasta npm para os pacotes.
mkdir ~/dev/npm
sudo npm set prefix ~/dev/npm
Se tudo correu bem, o comando sudo npm get prefix deve exibir a sua pasta criada.
Outra coisa que facilitará muito a nossa vida é adicionar o caminho dos pacotes do node no path. Aí você poderá executar o yeoman de qualquer lugar. Para isso, execute o comando:
echo "export PATH=$PATH:$HOME/dev/npm/bin" >> $HOME/.bashrc
e reinicie o terminal!
Agora, vamos instalar o yeoman, bower, grunt e gulp:
Instalando o VS Code no Linux
Chegou a hora do VS Code. Você pode baixá-lo em https://code.visualstudio.com/ ou executar a instalação via terminal também.
Para instala-lo via terminal, execute os comandos abaixo:
Depois de tudo isso, olha ele na barra de ferramentas do Ubuntu:
Você também pode criar um link para abrir o code de qualquer pasta com o comando:
sudo ln -s /<path de instalação>/Code /usr/local/bin/code
No meu caso, o code está no folder ~/tools/web/visual-studio/Code, portanto:
sudo ln -s ~/tools/web/visual-studio/Code /usr/local/bin/code
Desta forma, estando na pasta do projeto, para abrir o VS Code basta digitar:
Adicionando caminhos para o NuGet
Para conseguirmos baixar os pacotes das aplicações .NET que construiremos, precisamos adicionar os caminhos para que o NuGet possa encontrar os pacotes. Para isso, precisamos criar um arquivo chamado NuGet.config na pasta ~/.config/NuGet com o seguinte conteúdo:
<add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/api/v2/" />
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
Vamos criar esse arquivo com o próprio Code. Então, abra-o pela barra de ferramentas do Ubuntu ou digitando code no terminal. Aí crie um novo arquivo, cole o conteúdo do XML acima e salve na pasta ~/.config/NuGet/NuGet.config.
Yeoman template para ASP.NET 5
O Yeoman possui muitos templates. Você pode encontra-los nesse link. Nós utilizaremos o template aspnet. Então, vamos instala-lo com o comando:
npm install generator-aspnet
Criando nosso projeto
Se você chegou até aqui, pode ficar contente: seu ambiente está configurado 😉
Então, chegou a hora de criarmos nossa aplicação ASP.NET.
Para isso, vou criar uma pasta ~/projects e uma subpasta ~/projects/aspnet-ubuntu que será o local onde ficará nossa aplicação
mkdir ~/projects/aspnet-ubuntu
cd ~/projects/aspnet-ubuntu
Nessa pasta, vamos criar um template aspnet usando o Yeoman. Execute o comando:
Selecione Web Application:
Dê um nome para a sua aplicação. A minha eu chamei de web:
Esse é o resultado que você verá após a criação do template:
Agora, entre na pasta criada e siga os comandos sugeridos (no caso, vamos usar o dnu restore para restaurar os pacotes NuGet)
Se você quiser rodar sua aplicação depois da restauração, use o comando dnx . kestrel estando dentro da pasta web (a que possui o arquivo project.json). Mas, antes, vamos abrir nosso projeto no Code.
Abrindo o projeto no Visual Studio Code
Via terminal, se você estiver na pasta do projeto e criou o link conforme explicado anteriormente, basta digitar:
Você também pode abrir o VS Code pela interface do Ubuntu. Mas nesse caso, precisa abrir o Folder de seu projeto em File -> Open Folder. O meu projeto está nessa pasta: /home/heber/projects/aspnet-ubuntu/web
Você pode executar muitos comandos no VS Code abrindo o Command Pallete, apertando CTRL-P. No Windows é possível mandar executar sua aplicação por aí digitando dnx web. Mas essa função ainda não está disponível no Linux. Então, para rodar sua aplicação, entre no terminal, confira se está na pasta do seu projeto (onde se encontra o project.json) e execute o comando:
Uau!!! Está rodando!!!
Bom, então confira abrindo o navegador e acessando o endereço http://localhost:5000
(Dica: esse caminho, localhost:5000, está configurado no arquivo project.json, na seção commands, item kestrel).
Ufa! Deu trabalho! Mas o ambiente está configurado. Agora, os novos projetos você pode criar usando o Yeoman e codificando no VS Code.
Posted in .NETTagged .NET, CoreCLR, Linux, Visual Studio Code	Navegação de Post
.NET e TFS parecem, mas não são mágicos
Tópicos recentes	Nova Turma – Curso de IdentityServer4 (Remoto) 16hs
Curso IdentityServer 4 (Online) 16hs
Visual Studio Code e ASP.NET 5 no Linux Ubuntu
Treinamento básico de SOLR
ComentáriosCristiano Rocha em Curso ASP.NET Core 1.0 (São Paulo) 24hsRobert Luís Ghisleni em Curso ASP.NET Core 1.0 (São Paulo) 24hsArquivos	maio 2017