Passo a Passo: Convertendo um Projeto de Site um Projeto de Aplicativo da Web no Visual Studio
Este exame Através explica como converter um existente Microsoft Visual Studio 2005 Projeto de site para um Microsoft Visual Studio 2005 Projeto aplicativo da Web.O modelo de projeto aplicativo da Web usa a mesma abordagem conceitual como um projeto da Web em Visual Studio.NET 2003.Isso inclui um arquivo de projeto para incluir e excluir arquivos e de compilação a um único conjunto de módulos (assembly).Para obter mais informações, consulte Conversão de Projeto Web do Visual Studio.NET.
Tarefas ilustradas nesta explicação passo a passo incluem o seguinte:
Abrindo e verificando o projeto de site Web no Visual Studio 2005,
Criar um novo Projeto aplicativo da Web.
Definindo referências do projeto.
Copiando arquivos para o novo projeto de aplicativo da Web.
Convertendo arquivos de projeto.
Executando o projeto de aplicativo da Web.
Adicionando sintaxe de espaço de nome.
Convertendo dataset tipado declarativo.
Convertendo código de objeto de perfil.
Pré-requisitos
A fim de concluir este explicação passo a passo, será necessário:
ou Microsoft Visual Studio 2005 Service Pack 1 (SP1)
Microsoft .NET Framework versão 2.0.
Abrindo e Verificando o Projeto de site Web no Visual Studio 2005
Antes de converter um projeto, você deve verificar se ele está funcionando corretamente.Isso evitará erros durante a conversão.
Para abrir e verificar ser Projeto Web no Visual Studio 2005.
Abrir o existente Visual Studio 2005 Solução.
Na File Menu, clique em Abrire em seguida, clique em Site.
O Abrir Site da Web caixa de diálogo é exibida.
Selecionar a pasta do projeto que você deseja abrir e, em seguida, clique em Abrir.
Na Criar Menu, clique em Criar sites da Web.
Na Depurar Menu, clique em Inicia a depuração.Como alternativa, você pode pressionar F5.
Observação: Se a A depuração não ativada caixa de diálogo é exibida, selecione Adicionar um novo arquivo web.config com Depurando ativado.
Verifique se projeto é executado conforme esperado.
Criando um Novo Projeto de Aplicativo Web no Visual Studio 2008
A melhor estratégia para converter um existente Visual Studio 2005 Projeto de site é primeiro criar um novo em branco Projeto aplicativo da Web em um diretório separado.Isso evita alterar qualquer parte dos arquivos de site existentes.Ele também permite que você copie funcionalidades existentes para o novo projeto de aplicativo da Web.
Você pode adicionar o novo projeto para uma solução existente, que é ideal quando você tem vários projetos de bibliotecas de classes que você deseja usar.Como alternativa, você pode iniciar uma nova instância de Visual Studio e criar uma nova solução e do projeto.
Para criar um novo projeto de aplicativo Web Visual Studio 2008 em uma nova solução
Em Fechar Tudo Abrir soluções.
Na File Menu, clique em Novoe em seguida, clique em Project.
O Novo Projeto caixa de diálogo é exibida.
Na Tipos de Projeto Seção o Novo Projeto caixa de diálogo, Expandirir o idioma que você deseja para usar e em seguida, selecione Web Para exibir os modelos da Web relacionados.
Select Aplicativo Web ASP.NET.
Valores de tipo Name (Nome), Local, e Solução de nomee em seguida, clique em OK Para criar o projeto aplicativo da Web.
Após o projeto ter sido criado, exclua os arquivos default.aspx e web.config que são criados automaticamente.
Definindo referências do projeto.
Se a Projeto de site requer Adicionaritional referências do projeto ou conjunto de módulos (assembly), você pode Adicionar-los para o projeto aplicativo da Web.Você pode ver a lista de referências com novo padrão Aplicativo da Web projetos na Referências Nó Explorer solução.
Observação: |
---|
Para ajudar a evitar erros, antes de converter os arquivos de projeto, adicione referências para o projeto de aplicativo da Web para conjuntos de módulos (assemblies) que existiam na pasta Bin.Consulte o procedimento a seguir para obter mais informações sobre como adicionar referências. |
Para obter mais informações sobre referências, consulte Referências do projeto.
Para adicionar referências a um projeto Visual Studio 2008 de aplicativo Web
Em Explorer soluçãoClique com o botão direito do mouse Referênciase em seguida, clique em Adicionar Referência.
O Adicionar Referência caixa de diálogo é exibida.
Selecione a referência que você deseja adicionar e em seguida, clique em OK.
Em Explorer soluçãoClique com o botão direito do mouse o aplicativo da Web e clique em Criar.
Cria o projeto e verifica que quaisquer referências projeto-para-estão funcionando.
Copiando Arquivos o Projeto de Aplicativo da Web
A maneira mais fácil para adicionar os arquivos existentes é copiar os arquivos de um Diretório do projeto do site para o diretório do projeto aplicativo da Web.
Observação: |
---|
Se o Assistente de Configuração da Origem de Dados é iniciado durante o processo de Copiar, clique em Cancel Em caixa de diálogo do assistente e deixar que o restante dos arquivos ser copiado. |
Para Copiar um Projeto de Site para um Projeto de Aplicativo da Web
Em Explorer soluçãoClique com o botão direito do mouse no projeto site e selecione Abrir pasta Windows Explorer.
Selecione os arquivos do projeto de site para copiar.
Clique com o botão direito do mouse nos arquivos selecionados e selecione Copiar.
No projeto aplicativo da Web, clique com o botão direito do mouse no projeto aplicativo da Web e selecione Abrir pasta Windows Explorer.
Cole os arquivos de projeto site no diretório do aplicativo da Web.
Em Explorer solução do projeto aplicativo da Web, clique na Arquivos Mostrar Tudo Botão,
Selecione os novos arquivos na Explorer solução.
Clique com o botão direito do mouse nos arquivos selecionados e em seguida, clique em Incluir no Project.
Uma diferença entre um Projeto de site e um Projeto aplicativo da Web é que o site do projeto modelo dinamicamente gera o classe parcial Tool-generated.
Após copiar os arquivos do projeto do site para o projeto de aplicativo da Web, você irá notar que os arquivos code-behind para cada página e o controle de usuário estão ainda associados com os arquivos .aspx, .master e .ascx.Nenhum arquivo .designer.cs ou .designer.vb. foi gerado.Como parte da próxima etapa, você converte essas páginas para salvar suas classes parciais em um arquivo ,designer.cs ou .designer.vb..
Convertendo Arquivos de Projeto.
inclui uma opção para converter páginas e as classes em aplicativo da Web projetos para usar as classes parciais.As classes parciais são usadas para separar a marcação em uma página ou código code-behind de controle de usuário.Essas classes criadas pelo designer são armazenadas em um arquivo separado do arquivo code-behind.
O processo de conversão faz Para recursivamente examine cada página, Mestre a página e controle de usuário no projeto e para gerar automaticamente um. designer.cs de arquivo para cada. também altera os arquivos .aspx ou .ascx para usar o codeBehind Atributo em vez da codeFile Atributo.Esse comando também renomeia a pasta App_Code para Old_App_Code.
Para converter páginas e classes para usar as classes parciais em um projeto de aplicativo da Web
Em Explorer soluçãoClique com o botão direito do mouse na pasta projeto raiz que contém as páginas e as classes que você deseja converter e em seguida, clique em Converter em Web Application (Aplicativo da Web.
Compile o projeto para ver se há erros de compilação.
Se você encontrar erros, as duas causas mais prováveis são:
Uma referência de montagem está faltando e deve ser adicionada ao seu projeto.
Um problema com um tipo gerado dinamicamente, como o Perfil Objeto ou um dataset tipado.
Se estiver faltando uma referência de montagem, abra o gerenciador de referências e adicione-a.Se você estiver usando um tipo gerado dinamicamente, consulte Convertendo Dataset Tipado Declarativo e Convertendo Código de Objeto de Perfil Mais tarde contidas neste tópico.
Como ASP.NET 2.0 dinamicamente compila todas as classes na pasta App_Code, você não deve armazenar classes na pasta que você compila como parte do seu Aplicativo da Web.Se você fizer isso, a classe será compilada duas vezes.Na primeira vez será como parte de Aplicativo da Web assembly de projeto e a segunda hora será tempo de execução pelo ASP.NET.Isso pode causar um "Não foi possível carregar o tipo" exceção, que ocorre porque há nomes de tipo duplicado no aplicativo.
Em vez disso, armazene os arquivos da classe em qualquer pasta do seu projeto diferente da pasta App_Code.Isso é feito automaticamente pela Converter em Web Application (Aplicativo da Web comando, que renomeia a pasta para Old_App_Code.
Executando o projeto de aplicativo da Web.
Agora já é possível compilar e executar o aplicativo.Por padrão, Usa o Servidor de Desenvolvimento do ASP.NET interna para executar o site.Como alternativa, você pode configurar o projeto para usar Serviços de Informações da Internet (IIS).Para gerenciar configurações aplicativo da Web do projeto, clique com o botão direito do mouse no projeto e em seguida, clique em Propriedades.Você pode selecionar o Web guia para definir essas configurações de tempo de execução.
Para obter mais informações, consulte Página da Web, Designer de projeto.
Opções adicionais de Conversão
Há opções de conversão adicionais a serem considerados quando você converter o seu projeto para um projeto de aplicativo da Web.As opções são as seguintes:
Adicionando sintaxe de espaço de nome.
Convertendo dataset tipado declarativo.
Convertendo código de objeto de perfil.
Adicionando sintaxe de espaço de nome.
Por padrão, páginas e classes criadas usando o Site de projeto modelo incluir um espaço para nome de código não automaticamente.No entanto, páginas, controles e as classes criadas usando o Aplicativo da Web projeto modelo incluem automaticamente um espaço para nome de código.Ao converter o projeto de site em um projeto de aplicativo da Web, você terá que adicionar o espaço de nome para códigos.
Por exemplo, quando você trabalha com C#, você pode adicionar espaços para nome ao código em classes existentes dentro Visual Studio Usando o Coloque com shortcut menu command in the C# code editor.
Para adicionar um espaço para nome para classes existentes
Abra o arquivo de código que você deseja modificar.
Selecione uma classe (ou várias classes) in a Editor de código-fonte, clique com o botão direito do mouse no código selecionado e em seguida, clique em Coloque com.
Selecione o Namespace Item na lista.
Arquivos com as extensões .aspx, .ascx, mestre, .ashx, .asmx e .asax contêm diretivas (por exemplo, um @ Page Diretiva) com Inherits ou Classe Os atributos que listam os nomes de classe que eles chamar se eles forem páginas code-behind.Se você adicionar espaços para nome para o código - por trás dos arquivos desses tipos de arquivo, você deve também adicionar o espaço para nome para o Inherits e Classe Declarações.Por exemplo, se você adicionar a WebApplication5 Espaço para nome para o code-behind file de uma página chamada Details.aspx, você também alterar o Inherits Atributo das @ Page Diretiva de Herda = Details_aspx para Herda =WebApplication5.Details_aspx.
Observação: |
---|
Se você deve atualizar o espaço para nome várias vezes em um arquivo, você pode usar Recurso de localização e substituição das Editor. |
Para obter mais informações sobre como usar o Coloque com comando, consulte Como: Usar trechos de código surround-com.
Convertendo Dataset Tipado Declarativo
Se a Projeto de site altamente contém classes dataset tipado na pasta App_Code, você deve fazer uma alteração adicional para corrigir o ConnectionString Elemento no arquivo web.config.Você também deve redefinir o ConnectionString elemento para cada TableAdapter Objeto in a classe dataset.
Para corrigir o ConnectionString de datasets altamente tipados
Em Explorer soluçãoClique com o botão direito do mouse na pasta App_Code a classe dataset e em seguida, clique em Exibe o Designer.
O Designer a janela é exibida para o conjunto de dados.
Observação: Se a conexão dataset estiver configurada, você pode clicar duas vezes no dataset para exibi-lo no designer.
Clique com o botão direito do mouse em um TableAdapter Objeto e em seguida, clique em Propriedades.
Selecione o Conexão Propriedade e redefinir a conexão selecionando uma opção disponível.
Quando você atualiza a conexão, a referência de seqüência de conexão também é atualizada.
Repita essas etapas para cada TableAdapter Objeto em cada conjunto de dados.
Convertendo Código de Objeto de Perfil
Suporte à propriedades de perfil foi adicionado ao ASP.NET 2.0.Esse recurso permite que você armazene e recupere dados de perfis de usuário em um banco de dados de personalização.Em Site da Web projetos, o ASP.NET adiciona automaticamente um Perfil Objeto (uma instância de ProfileCommon Classe) para cada página da Web do ASP.NET no projeto.Este objeto fornece acesso altamente tipado a todas as propriedades que são definidos na seção perfil do arquivo web.config do aplicativo.Você pode obter dados Intellisense para esse objeto, e automaticamente salvar e recuperar valores dele.
Por exemplo, um arquivo web.config do aplicativo pode conter a seção a seguir.
< perfil defaultProvider = "AspNetSqlProfileProvider" > < propriedades > < Adicionar nome = "professores" Tipo = "professores" allowAnonymous = "true" / ≫ < / propriedades > < / perfil >
Nesse caso, você pode adicionar o código a seguir a uma página para salvar e recuperar informações sobre o Os professores objeto, como mostrado no exemplo o seguir.
Pública classe parcial _Default: System.Web.UI.Page {Button1_Click(object sender, EventArgs e) void protegido {professores professores = novo Teachers(); Teachers.Add (Teacher("Scott")) novos; Teachers.Add (Teacher("Bob")) novos; Teachers.Add (Teacher("Paul")) novos;
Profile.Teachers = professores;} protegido void Button2_Click(object sender, EventArgs e) {GridView1.DataSource = Profile.Teachers; GridView1.DataBind();}}
O Projeto aplicativo da Web não automaticamente inclui o ProfileCommon a classe.No entanto, você pode criar seus próprios ProfileCommon classe que contém altamente digitado propriedades para os itens configurados no sistema de perfil.Em seguida, você pode acessar o atual Perfil Propriedade das HttpContext Objeto para obter e definir as propriedades.O exemplo a seguir mostra como criar um personalizado ProfileCommon a classe.
Usando o sistema; Usando System.Collections.Generic; Usando System.Text; Usando System.Web; Usando System.Web.Profile;
Espaço para nome WebApplication6 {pública classe ProfileCommon {professores professores pública {obter {HttpContext.Current.Profile.GetPropertyValue("Teachers") (professores) do remetente}; definir {HttpContext.Current.Profile.SetPropertyValue("Teachers",value)};}}}
Em seguida, você pode adicionar uma instância de ProfileCommon Classe chamada Perfil Para as páginas que deverá usar o sistema de perfil, como mostrado no exemplo o seguir.
Espaço para nome WebApplication20 {pública classe parcial _Default: System.Web.UI.Page {ProfileCommon perfil = novo ProfileCommon(); Protegido void Button1_Click(object sender, EventArgs e) {professores professores = novo Teachers(); Teachers.Add (Teacher("Scott")) novos; Teachers.Add (Teacher("Bob")) novos; Teachers.Add (Teacher("Paul")) novos;
Profile.Teachers = professores;} protegido void Button2_Click(object sender, EventArgs e) {GridView1.DataSource = Profile.Teachers; GridView1.DataBind();}}}
Você não precisará alterar qualquer outro código na página e será possível usar o sistema de perfil como você fez com seu projeto de site original.Para obter mais informações, consulte Visão geral sobre propriedades de perfil do ASP.NET.
Consulte também
Tarefas
Como: Usar trechos de código surround-com
Conceitos
Conversão de Projeto Web do Visual Studio.NET
Visão geral sobre propriedades de perfil do ASP.NET