Partilhar via


Conversão de arquivos de projeto e solução Web

O Visual Studio 2005 altera o modelo de projeto Web de várias maneiras.Por exemplo, um arquivo de projeto não é mais necessário porque todos os arquivos em uma pasta de aplicativo da Web são considerados parte do projeto Web. 

O novo modelo de projeto da Web afeta a conversão de arquivos, como páginas de Formulários ASP.NET da Web (arquivos .aspx), controles de usuários ASP.NET (arquivos .asxc), o arquivo Global.asax e o arquivo web.config.As alterações exatas feitas nesses arquivos dependem da linguagem de programação do projeto que está sendo convertido.

O Visual Studio 2005 altera o modelo code-behind para usar classes parciais, que permitem uma classe estender vários arquivos.No modelo de código code-behind anterior, o arquivo .aspx herda de um arquivo de classe compilado criado a partir de um arquivo code-behind correspondente (.aspx.vb ou .aspx.cs).No novo modelo de code-behind, o arquivo .aspx herda de uma classe compilada consistindo de seu correspondente arquivo .aspx.vb ou .aspx.cs, bem como um arquivo de stub que é gerado a partir do arquivo .aspx e ele define as declarações de campo para os controles que são usados no arquivo .aspx.Essa alteração permite que o código gerado automaticamente seja separado do código do usuário.Controles de usuário (.ascx) e os arquivos code-behind para controles de usuário são tratados da mesma forma.Para obter detalhes sobre o modelo code-behind, consulte Modelo de código de página Web do ASP.NET.

O Visual Studio 2005 altera o modelo de compilação produzindo vários assemblies ao invés de um.Cada controle de usuário e página da Web do ASP.NET poderá ser compilado em seu próprio assembly.Essa alteração permite mais cenários de implantação, como publicar seu código fonte no servidor e permitir que partes do seu aplicativo sejam compilados dinamicamente, conforme necessário.

Arquivos code-behind

As alterações a seguir são feitas em controles de usuário e páginas da Web do ASP.NET durante a conversão para o novo modelo code-behind versão 2.0 do ASP.NET:

  • The CodeBehind attribute in the @ Page directive is changed to a CodeFile attribute.

  • An Inherits attribute is added to the @ Page directive pointing to the associated compile-with class file.

  • Todas as definições de classe code-behind foram modificadas para implementar a palavra-chave Partial.

  • Declarações de membro para controles de usuário são removidas da página code-behind.No modelo de compilação conjunta, instâncias de controles de usuário são criadas automaticamente a partir do código declarativo.

  • Eventos são acoplados a controles utilizando sintaxe declarativa.Por exemplo, o evento Click de um controle Button está vinculado ao controle adicionando um atributo OnClick para o elemento asp:button no código declarativo.Delegações e palavras-chave Handles do Visual Basic em métodos são removidas.Delegações não são removidas para membros que não são representados no código declarativo, como delegações para controles criados dinamicamente.

  • Declarações de membros na classe arquivos (mas não nas classes de página) que estejam marcadas como Friend ou Internal são alterados para Public.

  • Os pontos de interrupção não são convertidos, e eles não aparecerão nos arquivos convertidos.

    Observação:

    If a Web page or user control does not have a CodeBehind attribute in the @ Page directive, it is not converted.Da mesma forma, páginas da Web ou controles que contêm um atributo Src são deixados intactos.

Arquivos de código autônomos

As seguintes modificações são feitas em arquivos de código autônomos:

  • Os arquivos de código autônomos são movidos para o diretório App_Code.

  • Declarações de membros que estejam marcadas como Friend ou Internal são alterados para Public.Essa modificação é necessária porque com multiplos assemblies o nível de acesso deve ser tal que os membros são visíveis de assemblies diferentes do assembly contendo o arquivo de código autônomo compilado.

  • Chamadas para o método Type.GetType são alteradas para usar o método BuildManager.GetType.O método BuildManager.GetType localiza os tipos de conjuntos de nível superior.

  • Os pontos de interrupção não são convertidos, e eles não aparecerão nos arquivos convertidos.

Configurações do designer

Configurações em uma página que sejam pertinentes ao designer são manipuladas de diferentes maneiras durante a conversão:

  • O atributo MS_POSITIONING (layout de fluxo ou layout de grade) é deixado no local, e o Visual Studio mantém essa configuração juntamente com os atributos de posicionamento absoluto de controles individuais.No entanto, por padrão, novas páginas no Visual Studio usam layout de fluxo e não incluem o atributo MS_POSITIONING.

  • A marca <meta> para a linguagem de script padrão do cliente permanece intacta.

O arquivo Global.asax

Quando o arquivo Global.asax é convertido, seu arquivo code-behind é movido para o diretório App_Code.O processo de conversão resulta nas seguintes alterações:

  • Os atributos CodeBehind e Inherits são removidos da diretiva @ Aplicativo global.asax.

  • A Language attribute is added to the @ Page directive, if one is not already specified.

  • Para o Visual Basic, uma declaração Namespace é adicionada ao arquivo de classe.O namespace é definido pelo namespace raiz no projeto da Web.

Arquivo Web.config

No Visual Studio 2005, o arquivo web.config oferece suporte a uma maior variedade de elementos que ele faz em Visual Studio.NET.Por exemplo, configurações do projeto que ainda se aplicam ao Visual Studio geralmente são convertidas para o arquivo web.config.Para obter detalhes, consulte:Conversão de Configurações do Projeto da Web.

Consulte também

Conceitos

Conversão de Projeto Web do Visual Studio.NET

Conversão de Configurações do Projeto da Web

Outros recursos

Sintaxe Global.asax 

Definições de configuração ASP.NET

Arquivos de configuração ASP.NET

Sintaxe Global.asax