Desenvolvimento para a Web

Visual Studio 2010 SP1 para desenvolvedores da Web

Scott Hanselman

O Visual Studio 2010 SP1 foi lançado em março. Esse service pack apresenta a solução para os problemas encontrados por clientes nos comentários de parceiros e em testes internos. Ao mesmo tempo em que o Visual Studio 2010 SP1 foi lançado, surgiram vários novos componentes para desenvolvedores da Web. Este artigo explora as melhorias no desenvolvimento para a Web do Visual Studio 2010 SP1. Grande parte das melhorias foi feita para integrar o Visual Studio SP1 às novas ofertas na Microsoft Web Platform, como o IIS Express 7.5, o SQL Server Compact Edition 4.0 (daqui por diante, SQL Server CE, por questão de brevidade), a nova sintaxe do Razor e o Web Platform Installer (Web PI). Outras melhorias incluem o suporte para dependências implantáveis em bin, como ASP.NET MVC 3, bem como suporte a HTML5 e CSS3 no próprio Visual Studio 2010 SP1.

Este artigo pressupõe que você já tenha instalado o Visual Studio 2010 SP1, que pode ser baixado como um instalador autônomo ou usando o Web PI. Detalhes sobre onde obtê-lo podem ser encontrados em bit.ly/hnU6mm.

O Web PI é uma ferramenta gratuita que facilita a obtenção dos componentes mais recentes da Microsoft Web Platform. Mais detalhes podem ser encontrados em bit.ly/a6dLu.

Novos recursos aprimorados no Visual Studio 2010 SP1

O IIS Express 7.5, o SQL Server CE, o Visual Studio Tools for SQL Server CE e o ASP.NET MVC 3 com Razor são componentes separados e instalados depois do Visual Studio 2010 SP1. Na verdade, o suporte para esses recursos no Visual Studio 2010 SP1 permanece em um estado inativo até que eles sejam instalados em sua máquina.

Há várias maneiras de baixar e instalar os componentes. Algumas delas são difíceis, mas existe uma maneira mais fácil. Você pode buscar e baixar cada componente autônomo por conta própria. Talvez isso seja apropriado para uma implantação corporativa ou controlada do Visual Studio 2010 SP1. Você pode usar o Web PI para encontrar, baixar e instalar cada pacote separadamente, o que é útil se você quiser apenas determinados recursos. Abordaremos as instalações individuais mais tarde. No entanto, a maneira mais fácil é usar um “pacote” com todos esses recursos no Web PI. Tomamos a liberdade de criar essa URL curta, que iniciará o Web PI e selecionará automaticamente as opções certas para que você obtenha tudo: hnsl.mn/VS2010SP1Bundle.

O Web PI é esperto e sabe o que você já tem instalado em sua máquina. Se você não tiver nada — nenhuma ferramenta de desenvolvimento — em sua máquina, esse link instalará automaticamente o Visual Studio Web Developer Express SP1 gratuito e todos os novos recursos. No entanto, se você tiver alguma versão do Visual Studio já instalada, ou até mesmo se tiver o Visual Studio 2010 SP1 e algumas das ferramentas, o Web PI obterá automaticamente apenas o mínimo que você precisa para ficar atualizado. É o link “com direito a tudo”.

Verifique se você encerrou todas as instâncias do Visual Studio (lembre-se de pesquisar devenv.exe no Gerenciador de Tarefas) antes de iniciar a instalação.

 Talvez você abra um projeto que usa novos componentes que você ainda não tem. O Visual Studio 2010 SP1 detectará automaticamente os componentes que faltam se você estiver abrindo um projeto Web existente que usa alguns desses novos recursos, e usará o Web PI para instalá-los.

Integração com o Web PI

Nesta seção, explicaremos como o Visual Studio 2010 SP1 pode detectar automaticamente os componentes Web ausentes que são exigidos pelo projeto Web, e também apresentaremos a barra de ferramentas do Web PI.

Caixa de diálogo de componentes ausentes Esta é uma nova caixa de diálogo introduzida no service pack. Esta caixa de diálogo será exibida quando você abrir um projeto Web existente que usa o IIS 7.5 Express, o SQL Server CE ou o ASP.NET MVC com a sintaxe do Razor — e algum desses componentes não estiver instalado em sua máquina. Ela oferece o download e a instalação dos componentes ausentes utilizados pelo projeto Web usando o Web PI.

Por exemplo, a Figura 1 mostra o que você veria em uma caixa de diálogo quando o SQL Server CE não estiver instalado e um site que usa um banco de dados SQL Server CE for aberto.

A Warning About a Missing Component and an Offer to Fetch It

Figura 1 Um aviso sobre um componente ausente e uma oferta para obtê-lo

Neste ponto, se você clicar em Sim, o Visual Studio 2010 SP1 tentará detectar se você tem o Web PI instalado em sua máquina. Se não tiver, ele abrirá a página de download em uma janela do navegador para pelo menos obter o Web PI.

Se você já tiver o Web PI instalado, ele iniciará o Web PI com a instalação do componente ausente selecionada. Ele simplesmente baixará o que você precisa. Não se preocupe, ele é esperto. O Visual Studio 2010 SP1 não será baixado porque ele já está instalado!

A Figura 2 explica o que acontece depois que você clica em Sim ou Não na caixa de diálogo de componentes ausentes (as figuras laranja representam as ações que você deve realizar; as figuras azul representam as etapas realizadas pelo Visual Studio 2010 SP1).

Steps Taken After You’re Presented with the Missing Component Dialog Box

Figura 2 Etapas seguidas depois que a caixa de diálogo de componentes ausentes é exibida

A barra de ferramentas do Web PI Se você quiser baixar algum outro componente usando o Web PI, uma nova barra de ferramentas com um botão “Instalar Web Components” também foi adicionada ao Visual Studio.

Quando você clicar no botão, o Web PI será iniciado ou, se não tiver o Web PI, você será direcionado para a página de download. Você pode selecionar Exibir | Barras de Ferramentas | Web Platform Installer para mostrar a barra de ferramentas se ela ainda não estiver exibida. A opção “Instalar Web Components” também está disponível no menu Ferramentas.

Suporte ao IIS Express 7.5

Agora que você já sabe como instalar vários componentes, vamos explorar o recurso IIS Express 7.5 no Visual Studio.

O IIS Express 7.5 é uma versão simples do IIS otimizada para desenvolvedores. Mais detalhes podem ser encontrados embit.ly/cOfrt4.

O IIS Express 7.5 é compilado na mesma base de código que o IIS 7.5, por isso, oferece os recursos do IIS aos desenvolvedores da Web — como SSL, reescrita de URL e tipos de MIME — na caixa de desenvolvimento, que é semelhante ao servidor Web do produto completo.

O IIS Express 7.5 pode ser baixado e instalado usando o Web PI (bit.ly/dfikKe) ou o instalador autônomo (bit.ly/g5RMgc).

Talvez você tenha um site ou projeto existente que usa o Visual Web Development Server (o servidor Web pequeno conhecido anteriormente como Cassini). Você pode clicar com o botão direito do mouse no projeto Web no Gerenciador de Soluções e convertê-lo para usar o IIS Express 7.5 (consulte a Figura 3).

Converting from Visual Web Development Server to IIS Express 7.5

Figura 3 Conversão do Visual Web Development Server para o IIS Express 7.5

O Visual Studio 2010 SP1 solicita uma confirmação e depois mostra que o projeto Web foi definido com sucesso para usar o IIS Express 7.5.

No entanto, definir várias vezes os projetos para usar o IIS Express 7.5 é tedioso. Se desejar, você pode tornar o IIS Express 7.5 o servidor Web padrão para todos os seus projetos na caixa de diálogo Tools | Options, em Project and Solutions | Web Projects. Marque a opção “Use IIS Express for new file-based web site and projects” (consulte a Figura 4).

Making IIS Express 7.5 Your Default Web Server

Figura 4 Como tornar o IIS Express 7.5 seu servidor Web padrão

É claro que você pode escolher e até mesmo converter novamente cada projeto de IIS Express 7.5 para Visual Studio Web Development Server. Basta clicar com o botão direito do mouse em um projeto no Gerenciador de Soluções e convertê-lo para usar o Visual Studio Web Development Server.

IIS Express 7.5 e não administradores

Para criar ou abrir um site ou projeto Web ISS existente, você precisa executar o Visual Studio 2010 SP1 como um usuário elevado (modo administrativo). Isso é algo incômodo para muitos que não têm essa habilidade. Talvez isso seja restringido pela TI, ou talvez você simplesmente queira evitar a execução como administrador quando não há um bom motivo para fazer isso.

Felizmente, você pode usar o IIS Express 7.5 como o servidor Web para projetos Web sem a necessidade de executar o Visual Studio 2010 SP1 no contexto de uma conta de administrador. Assim que estiver instalado, qualquer usuário poderá trabalhar com o Visual Studio 2010 SP1 e o IIS Express 7.5 como um não administrador.

Propriedades do IIS Express 7.5

O IIS Express 7.5 tem várias propriedades personalizadas para cada projeto que podem ser definidas na janela de propriedades (selecione o projeto no Gerenciador de Soluções e pressione F4 para exibir a janela de propriedades). A Figura 5 mostra a janela de propriedades.

The Project Properties Window

Figura 5 A janela de propriedades do projeto

A seguir, estão as propriedades específicas para o IIS Express 7.5:

  1. Autenticação Anônima — Para habilitar/desabilitar a autenticação anônima. A autenticação anônima permite que qualquer usuário acesse o site sem fornecer um nome de usuário e desafio da senha para o navegador do cliente. Está habilitado por padrão.

  2. Modo de Pipeline Gerenciado (pode ser integrado ou clássico):

    Integrado — O objeto ApplicationPool usará os pipelines de processamento de solicitações do IIS 7 e do ASP.NET para processar as solicitações para código gerenciado.

    Clássico — O IIS 7 roteará as solicitações para código gerenciado pelo aspnet_isapi.dll, que processa as solicitações como se o aplicativo estivesse sendo executado no IIS 6.

  3. SSL Habilitado — Defina como verdadeiro para habilitar o SSL para o site.

  4. URL do SSL — A URL do SSL.

  5. URL — A URL do site.

  6. Autenticação do Windows — Pode ser habilitada ou desabilitada. Use a autenticação do Windows para autenticar a utilização dos protocolos NTLM (Windows NT LAN Manager) ou Kerberos.

As configurações alteradas na caixa de ferramentas de propriedades são armazenadas em “My Documents\IISExpress\config\applicationhost.config”. Observe que essas configurações não estão na pasta “C:\Program Files”. Cada usuário tem sua própria configuração do IIS Express 7.5. Como elas são definidas exclusivamente na instância local do IIS Express 7.5 e o arquivo de configuração não está incluído no arquivo de solução, elas não são mantidas no controle do código-fonte, por isso, preste atenção.

Compartilhamento dos projetos do IIS Express 7.5 com o Visual Studio 2010 RTM

Digamos que você tenha um projeto usando o IIS Express 7.5 no localhost:20221 e queira compartilhá-lo com sua colega de equipe que ainda tem o Visual Studio 2010 RTM. Assim que ela abrir o projeto Web em sua caixa, será exibido um erro parecido com “Não foi possível encontrar o servidor ‘http://localhost:20221’ na máquina local”.  

O motivo desse erro é que o Visual Studio 2010 RTM não reconhece o IIS Express e está tentando localizar o locahost:20221.

Você pode resolver essa questão em um projeto de aplicativo Web ao desmarcar “Aplicar configurações de servidor a todos os usuários (armazenar no arquivo de projeto)” nas páginas de Propriedade | guia Web (consulte a Figura 6).

Make Server Selection and Related Settings on a Per-User Basis
(clique para ampliar)

Figura 6 Seleção de servidor e configurações relacionadas com base em cada usuário

Clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Propriedades no menu de contexto para exibir as páginas de Propriedade.

Isso faz com que a seleção de servidor (Visual Web Development Server ou IIS Express 7.5) e as configurações relacionadas sejam armazenadas com base em cada usuário no arquivo de usuário, e não no arquivo de projeto, o que faz com que a seleção de servidor não seja mantida no controle do código-fonte.

Isso permitirá que os usuários do Visual Studio 2010 RTM na equipe ainda usem o Visual Studio Development Server, sendo que o usuário do Visual Studio 2010 SP1 pode usar o IIS Express 7.5 para o mesmo projeto. No caso de projetos de site, todos na equipe precisam usar o Visual Studio 2010 SP1 para que seja possível compartilhar projetos e usar o IIS Express 7.5.

Suporte ao SQL Server CE

O Microsoft SQL Server CE é um banco dados incorporado gratuito que pode ser usado para a criação de sites ASP.NET e aplicativos para a área de trabalho. É um banco de dados leve que não precisa de instalações. Em um servidor de produção, um projeto Web pode usar um banco de dados SQL Server CE ao simplesmente descartar assemblies do mecanismo de banco de dados SQL Server CE na pasta bin. (Consulte a seção “Dependências implantáveis” deste artigo para saber como o Visual Studio pode ajudar a adicionar automaticamente os assemblies necessários à pasta bin.)

Para obter mais detalhes sobre o SQL Server CE, acessebit.ly/dsWBbM ebit.ly/hvgQQV. Para obter suporte para o SQL Server CE no Visual Studio 2010 SP1, componentes podem ser baixados usando o Web PI (bit.ly/maOfQX) ou um instalador autônomo. No caso da última opção, instale os seguintes componentes: o tempo de execução do SQL Server CE (bit.ly/f86AyF) e as ferramentas do Visual Studio for SQL Server (bit.ly/kvxEQi).

Nesta seção, exploraremos os recursos do SQL Server CE que são aprimorados depois da instalação dos componentes necessários.

Com o Visual Studio 2010 SP1, agora você pode criar um banco de dados SQL Server CE usando os novos modelos (consulte a Figura 7). (Para exibir a caixa de diálogo “Adicionar novo item”, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione “Adicionar novo item”.) Enquanto o arquivo .sdf é adicionado a um projeto de aplicativo Web, o Visual Studio 2010 SP1 adiciona automaticamente uma referência ao System.Data.SqlServerCE, sendo que no caso de um site, ele atualiza o web.config para adicionar o assembly.

Creating a SQL Server CE Database
(clique para ampliar)

Figura 7 Criação de um banco de dados SQL Server CE

Para realizar várias tarefas com arquivos .sdf, clique duas vezes no arquivo .sdf no Gerenciador de Soluções, que exibirá o painel Gerenciador de Servidores (consulte a Figura 8).

Right-Clicking on an .sdf File to Perform Various Tasks

Figura 8 Clique com o botão direito do mouse no arquivo .sdf para realizar várias tarefas

O Gerenciador de Servidores ajuda a realizar várias tarefas, como criar uma nova tabela, editar uma tabela existente, editar o esquema da tabela, mostrar os dados da tabela e muito mais.

Outros recursos de dados no Visual Studio 2010 SP1, como gerenciamento de índices/teclas, Entity Framework Designer e Gerenciador de Banco de Dados/Servidores também foram atualizados para oferecer suporte aos bancos de dados SQL Server CE.

Suporte ao Razor

No Visual Studio 2010 SP1, as alterações são feitas nos sistemas do projeto Web e no editor de HTML para oferecer suporte à nova sintaxe do Razor. Essa nova sintaxe é usada pelas páginas da Web ASP.NET e pelo ASP.NET MVC 3.

Leia mais sobre o ASP.NET MVC com a sintaxe do Razor em bit.ly/aj0AuM.

Para obter suporte para a sintaxe do Razor no Visual Studio 2010 SP1, você precisa baixar o ASP.NET MVC 3.

O link do Web PI para baixar o ASP.NET MVC 3 é bit.ly/biXkTD. O instalador autônomo do ASP.NET MVC 3 pode ser encontrado em bit.ly/hd2LDs.

Veja uma postagem que explica o que é instalado com o ASP.NET MVC 3: bit.ly/e7T4A3.

O suporte a seguir foi adicionado à sintaxe do Razor:

Colorização No Visual Studio 2010 SP1 e no ASP.NET MVC 3, quando você abre um arquivo Razor (.cshtml ou .vbhtml), o Editor do Visual Studio coloriza o conteúdo HTML e do C# ou Visual Basic.

Você também pode alterar a cor do plano de fundo padrão para os blocos de código do Razor na caixa de diálogo Ferramentas | Opções, selecionando Ambiente | Fontes e Cores (consulte a Figura 9).

Changing the Default Background Color for Razor Code Blocks

Figura 9 Alteração da cor do plano de fundo padrão para os blocos de código do Razor

IntelliSense Suporte completo para linguagem HTML e C#/Visual Basic no IntelliSense é fornecido em um arquivo Razor. Consulte a Figura 10 para obter um exemplo.

IntelliSense Support for Razor Code
(clique para ampliar)

Figura 10 Suporte ao IntelliSense para código do Razor

Depuração Assim como no caso do suporte para outros arquivos de linguagem, você pode adicionar pontos de interrupção em um arquivo Razor e usar todos os recursos de depuração do IDE (como step over, lista de observação e muito mais).

Para uma expressão Razor em linha, os pontos de interrupção não podem ser adicionados ao clicar na margem. O truque é mover o cursor até uma expressão e depois pressionar o F9 (atalho para adicionar um ponto de interrupção).

Dependências implantáveis

Nas seções anteriores, falamos sobre como baixar, instalar e explorar os recursos para SQL Server CE, Razor e ASP.NET MVC 3. Agora, queremos publicar em um servidor Web remoto nosso projeto Web que usa esses recursos. Não temos certeza se o servidor remoto tem SQL Server CE, Razor ou ASP.NET MVC 3 instalado e não temos controle sobre o que pode ser instalado nele. O Visual Studio 2010 SP1 pode realmente nos ajudar a “implantar binários em bin” para esses componentes usando o recurso Add Deployable Dependencies (consulte a Figura 11).

The Add Deployable Dependencies Feature

Figura 11 O recurso Add Deployable Dependencies

A pasta bin é uma pasta especial em projetos Web que é reconhecida pelo ASP.NET. Uma pasta bin pode conter assemblies compilados para controles, componentes ou outros códigos personalizados do ASP.NET mencionados no aplicativo Web.

Nosso aplicativo Web pode ter dependência em um componente (por exemplo, SQL Server CE), e queremos publicar nosso site em um servidor que não tem essa dependência instalada (não tem o SQL Server CE instalado).

“Implantar em bin” significa implantar um aplicativo com as dependências copiadas na pasta bin do aplicativo, em vez de instalar as dependências no Cache Global de Assemblies (GAC) usando um instalador.

Para exibir a caixa de diálogo, clique com o botão direito do mouse no projeto Web no Gerenciador de Soluções e selecione “Add Deployable Dependencies…”.

O Visual Studio 2010 SP1 mostrará uma caixa de diálogo com uma lista dos componentes instalados em sua máquina e que podem ser implantados. Mostra o ASP.NET MVC como uma opção adicional apenas para um projeto do ASP.NET MVC 3 (consulte a Figura 12).

The Add Deployable Dependencies Dialog Box for a Bin Deploy

Figura 12 A caixa de diálogo de Add Deployable Dependencies para implantar em bin

Aqui está o que acontece depois de clicar em OK. No caso de um site, os assemblies necessários para os componentes selecionados seriam copiados do local de instalação da dependência em sua caixa para uma pasta bin do aplicativo. Depois, quando você copiar ou publicar seu site em um servidor Web, o componente funcionará usando os assemblies da pasta bin.

Em um projeto de aplicativo Web, os assemblies para os componentes selecionados seriam copiados para a pasta _bin_deployableassemblies. Quando o projeto de aplicativo Web é criado ou quando geramos um pacote para implantação, os binários são copiados da pasta _bin_deployableassemblies para a pasta bin.

Isso é feito para que mesmo que os arquivos da pasta pin sejam excluídos durante seu processo de compilação personalizado, a dependência ainda seja copiada corretamente da pasta _bin_deployableassemblies quando o projeto for publicado.

Suporte a HTML5 e CSS3

Um suporte preliminar a HTML5 é adicionado ao editor de HTML para que o IntelliSense e a validação para os elementos e atributos HTML possam ser obtidos. Uma versão completa que oferece uma experiência HTML5 mais completa será fornecida em versões futuras do Visual Studio.

Para obter suporte a HTML5, vá para Ferramentas | Opções, selecione Editor de Texto | HTML | Validação e, em seguida, selecione HTML5 na lista suspensa. Você também pode selecionar HTML5 na barra de ferramentas de edição de código-fonte HTML (consulte a Figura 13). Para habilitar a barra de ferramentas durante a edição de um arquivo HTML ou Razor, selecione Exibir | Barra de Ferramentas | Edição de Código-fonte HTML.

Selecting HTML5 from the HTML Source Editing Toolbar

Figura 13 Seleção de HTML5 na barra de ferramentas de edição de código-fonte HTML

No Visual Studio 2010 SP1, há algumas melhorias no suporte a CSS3, mas essas melhorias não são tão elaboradas quanto as do HTML5. Agora, o editor de CSS oferece suporte aos seletores mais avançados, como div:nth-child(2n+1), aos novos valores de cor rgba, hsl e hsla, e a valores hexadecimais de oito dígitos.

Conclusão

Para recapitular, o Visual Studio 2010 SP1 reforça alguns recursos no Visual Studio, mas é o fato de que os novos componentes Web trabalham juntos com coisas como IIS Express 7.5, ASP.NET MVC 3 com Razor, SQL Server CE com ferramentas e HTML5/CSS3 — reunidos com o Web PI — que realmente torna o desenvolvimento para a Web mais agradável. Esperamos que você goste dessas ferramentas tanto quanto nós.

Scott Hanselman trabalha como arquiteto principal de comunidade para a Microsoft nas proximidades de Redmond, Wash. Você pode segui-lo no Twitter em twitter.com/shanselman, visitar seu blog em hanselman.com ou ouvir seus podcasts em hanselminutes.com.

Deepak Verma trabalha como engenheiro de desenvolvimento de software de teste para a Microsoft em Redmond, Wash. Seu blog de equipe está em blogs.msdn.com/b/webdevtools.