ASP.NET Precompilation Overview

ASP.NET pode pré-compilar um site Web antes que ele esteja disponível aos usuários.Isso oferece muitas vantagens, que incluem o tempo de resposta mais rápido, chegagem de erro, proteção do código-fonte e implantação eficiente.

Pode-se também compilar um projeto usando o modelo de projeto de aplicativo Web.Todos os arquivos de código (autônomos, code-behind e arquivos de classe) do projeto são compilados em um único conjunto de módulos (assembly) e armazenados no diretório Bin.Como a compilação cria um único conjunto de módulos (assembly), você pode especificar atributos, como nome do módulo e versão.Você também pode especificar o local do conjunto de saída se você não quiser que ele esteja no diretório Bin.Para obter mais informações, consulte Compiling Web Application Projects.

Esse tópico contém:

  • Cenários

  • Recursos de pré-compilação

  • Segundo plano

  • Exemplos de código

Recursos

Precompilar um site Web ASP.NET oferece as seguintes vantagens:

  • Tempo de resposta mais rápido para usuários, pois as páginas e os arquivos de código não precisam ser compilados na primeira vez que forem solicitados.Isso é particularmente útil em grandes sites que são atualizados com frequência.

  • Um meio para identificar erros em tempo de compilação antes que os usuários vejam um site.

  • A capacidade de criar uma versão compilada do site que pode ser implantado em um servidor de produção sem código-fonte.

Voltar ao topo

Segundo plano

Por padrão, páginas da Web ASP.NET e arquivos de código são compilados dinamicamente quando usuários primeiramente solicitam um recurso como uma página do site da Web.Após as páginas e arquivos de código terem sido compilados na primeira vez, os recursos compilados são armazenados em cache.Portanto, as solicitações subsequentes para a mesma página serão muito eficientes.

ASP.NET pode pré-compilar um site inteiro antes que ele esteja disponível aos usuários.O ASP.NET oferece as seguintes opções para pré-compilar um site:

  • Pré-compilação de um site in-loco.Esta opção é útil para sites existentes onde você deseja melhorar o desempenho e executar a verificação de erros.

  • Pré-compilação de um site para implantação.Esta opção cria uma saída especial que você pode implantar a um servidor de produção.

Além disso, você pode pré-compilar um site para torná-lo somente para leitura ou atualizável.As seções a seguir fornecem mais detalhes sobre cada opção.

Pré-compilação In-loco

Você pode melhorar um pouco o desempenho do seu site Web precompilando-o.Isso é especialmente verdadeiro em sites onde há alterações frequentes e adições entre páginas da Web ASP.NET e arquivos de código.Em um site com fluxo, o tempo extra necessário para compilar dinamicamente páginas novas e alteradas pode afetar percepção dos usuários da qualidade do site.

Pré-compilar um site in-loco efetivamente executa a mesma compilação que ocorre quando os usuários solicitam páginas do seu site.Portanto, a melhoria de desempenho primário é que as páginas não têm que ser compiladas para a primeira solicitação.

Quando se executa pré-compilação in loco, todos os tipos de arquivo ASP.NET são compilados.(Arquivos HTML, elementos gráficos e outros arquivos estáticos que não sejam do ASP.NET são deixados como estão.) O processo de pré-compilação segue a mesma lógica que o ASP.NET usa para compilação dinâmica, responsabilizando-se pelas dependências entre os arquivos.Durante a pré-compilação, o compilador cria conjuntos para todos os executáveis de saída e os coloca numa pasta especial na pasta %SystemRoot%\Microsoft.NET\Framework\version\ Arquivos Temporários do ASP.NET.Daí em diante, o ASP.NET atende a solicitações de páginas dos assemblies na pasta.

Se você pré-compilar o site novamente, somente arquivos novos ou alterados são compilados (ou aqueles com dependências em arquivos novos ou alterados).Devido a essa otimização do compilador, é prático compilar o site após atualizações mesmo secundárias.

Pré-Compilação para implantação

Outro uso para pré-compilação de um site é produzir uma versão executável do site que pode ser implantada em um servidor de produção.Precompilar para a implantação cria a saída no formato de um layout.O layout contém assemblies, as informações de configuração, informações sobre pastas e arquivos estáticos (como HTML arquivos e elementos gráficos) do site.

Após compilar o site, pode-se implantar o layout para um servidor de produção usando ferramentas como o comando Windows XCopy, FTP, instalação do Windows e assim por diante.Depois que o layout é implantado, ele funciona como site, e o ASP.NET atenderá solicitações de páginas dos módulos no layout.

Pré-compilando um site para implantação fornece uma medida de proteção para o seu código-fonte e outras propriedades intelectuais.Para mais informações sobre como o compilador funciona com arquivos durante compilação para implantação, consulte Tratamento de arquivo durante a compilação do site para implantação, mais a diante neste tópico.

Você pode pré-compilar para implantação de duas maneiras: pré-compilação para implantação somente, ou pré-compilação para implantação e atualização.

Pré-Compilação para implantação somente

Quando você pré-compila para implantação somente, o compilador produz módulos (assemblies) de praticamente todos os arquivos fonte ASP.NET que normalmente são compilados em tempo de execução.Isso inclui código de programa em páginas, arquivos de Classe .cs e .vb, outros arquivos de código, e arquivos de recurso.O compilador remove toda a fonte e Marcação na saída.No layout resultante, arquivos compilados são gerados para cada um dos arquivos .aspx (com a extensão .compiled) que contêm ponteiros para o assembly apropriado daquela página.

Para alterar o site Web, inclusive o layout das páginas, você deve alterar os arquivos originais, recompilar o site, e reimplantar o layout.A única exceção é a configuração do site.Pode-se fazer alterações no arquivo web.config no servidor de produção sem ter que recompilar o site.

Essa opção proporciona o maior grau de proteção para suas páginas ASP.NET e o melhor desempenho na inicialização.

Pré-Compilação para implantação e atualização

Quando você pré-compila para implantação e atualização, o compilador produz módulos de todo o código-fonte (exceto código de página em páginas de um único arquivo) e de outros arquivos que normalmente produzem módulos, como arquivos de recurso (resource files).O compilador converte arquivos.aspx em arquivos únicos que usam o modelo code-behind compilado e os copia para o layout.

Esta opção permite que se façam alterações limitadas às páginas Web ASP.NET no site após a compilação.Por exemplo, você pode alterar a organização de controles, cores, fontes, e outros aspectos da aparência das páginas.Você também pode adicionar controles, desde que eles não exijam manipuladores de eventos ou outro código.

Quando o site executa pela primeira vez, o ASP.NET executa compilação adicional a fim de criar saída pela marcação (markup).

Observação:

Um site pré-compilado atualizável não permite que várias páginas façam referência à mesma classe CodeFile.

Matriz de decisões para pré-compilação

Use a tabela a seguir para ajudá-lo a decidir qual modelo de compilação usar.Algumas das opções listadas na tabela são descritas posteriormente neste tópico.

Objetivo

Modelo de compilação

Rapidamente desenvolver aplicativos sem se preocupar em compilar o código.

Uso de compilação padrão (sem pré-compilação).

Melhora o tempo de resposta para a primeira solicitação da página ao site Web.

Uso de compilação in-loco ou de uma das opções de compilação de implantação.

Separe código-fonte e código de Interface do usuário(UI).

Use pré-compilação com UI atualizável.

Modificar o código UI sem alterar o código-fonte.

Use pré-compilação com UI atualizável.

Remover todo o código-fonte e código UI do seu servidor de produção.

Use pré-compilação com UI não atualizável.

Atualizar o aplicativo, substituindo módulos específicos.

Use pré-compilação com nomes fixos.

Aumentar a segurança do seu aplicativo usando módulos com nomes fortes.

Use compilação com módulos assinados.

Executando Pré-compilação

Você pode pré-compilar um site da Web usando a ferramenta Aspnet_compiler.exe na linha de comando.Para obter mais informações, consulte Como: Pré-compila sites da Web do ASP.NET para implantação e ASP.NET Compilation Tool (Aspnet_compiler.exe).Visual Studio também inclui comandos para pré-compilar um Web site a partir do IDE.

Observação:

Pré-compilar Um site da Web compila somente esse site, não os sites filho.Se um site da Web contiver uma pasta filha que está marcada como um aplicativo no IIS, o aplicativo filho não é compilado quando você pré-compila a pasta pai.

Uma restrição de codificação quando você precompila um site Web se aplica aos sites que você pretende compilar com proteção de fonte ativada.É possível para uma classe de página base (uma classe code-behind) fazer referência à classe da página associada (arquivo .aspx) e aos membros da classe da página usando um nome de classe totalmente qualificado (fully qualified).No entanto, esse tipo de referência não funcionará quando você pré-compilar o site com proteção de fonte ativada.Isso ocorre porque a classe da página base do arquivo code-behind não está localizada no mesmo conjunto de módulos como a classe da página derivada da página .aspx.Para mais informações sobre pré-compilação com proteção de fonte ativada, consulte Como: Assinar assemblies para sites da Web pré-compilados.

Compilação padrão

Não é necessário compilar um aplicativo ASP.NET manualmente.Por padrão, o ASP.NET compila o aplicativo Web na primeira vez em que uma página no aplicativo é solicitada por um navegador.Se você fizer uma alteração em um arquivo do aplicativo, na próxima vez que uma página for solicitada, o ASP.NET Runtime determinará as dependências do arquivo alterado.Ele recompila somente os arquivos que são afetados pela alteração.

Vantagens

As vantagens de usar compilação padrão incluem o seguinte:

  • Simples para usar.O compilador ASP.NET faz todo o trabalho para você.

  • Melhor modelo de compilação para escolher durante o desenvolvimento quando as etapas extras necessárias para a pré-compilação de um site diminuem o ritmo do processo de desenvolvimento.

Desvantagens

As desvantagens da utilização de compilação padrão incluem o seguinte:

  • Pode causar atrasos significativos na primeira solicitação do site.

  • Requer que você armazene arquivos de código-fonte em um servidor de produção.

  • Torna código-fonte e código UI disponível para qualquer pessoa com acesso ao sistema de arquivos do diretório do site no servidor.

Quando usar compilação padrão

Use compilação padrão em situações a seguir:

  • Quando você estiver desenvolvendo e testando um site da Web.

  • Para sites que possuem principalmente informações estáticas.

  • Para sites que não são frequentemente alterados.

  • Quando você não estiver preocupado em armazenar arquivos de código-fonte em seu servidor de produção.

Compilação no local

Você pode pré-compilar um site que já está em um servidor de produção.Isso é chamado de compilação in-loco (in-place).Se você fizer uma alteração em um arquivo do aplicativo, você pode recompilar o arquivo em questão com a ferramenta de compilação do ASP.NET.Os arquivos afetados também serão recompilados na próxima vez que uma página for solicitada do aplicativo.

Para mais informações sobre este modelo de compilação, consulte Como: Precompile ASP.NET Web Sites.

Vantagens

As vantagens do uso de compilação no local incluem o seguinte:

  • Tempo de resposta para a primeira solicitação do site da Web é reduzido.

  • Nenhuma etapa especial da implantação é necessária; seu aplicativo é compilado exatamente como se uma página fosse solicitada do site.

Desvantagens

As desvantagens da utilização de compilação no local incluem o seguinte:

  • Todos os códigos-fonte para o aplicativo deve ser armazenados no servidor de produção.

  • Torna código-fonte e código UI disponível para qualquer pessoa com acesso ao diretório do site.

Quando para usar compilação no local

Usar compilação no local em situações a seguir:

  • Você faz alterações frequentes em páginas do site.

  • Você não está preocupado em armazenar arquivos de código-fonte em seu servidor de produção.

  • Você deseja aumentar o tempo de resposta para primeira solicitação da página.

Pré-compilando com UI atualizável

Usando a opção -u da ferramenta de compilação do ASP.NET, você pode compilar código-fonte (. cs, arquivos .vb e arquivos .resource) para uma DLL.Você pode deixar a marcação (markup) de UI nos arquivos .aspx disponíveis para atualização.Depois que você implantar o site para um servidor de produção, pode-se fazer alterações no código .aspx sem recompilar todo o site.

For more information about this compilation method, see Como: Pré-compila sites da Web do ASP.NET para implantação.

Vantagens

As vantagens de pré-compilar um site com UI atualizável incluem o seguinte:

  • Tempo de resposta para a primeira solicitação do site da Web é reduzido.

  • Designers da interface de usuário (UI) podem modificar a aparência e comportamento de um site sem a exigência de que o site inteiro seja recompilado.

  • Existe uma medida de proteção para a propriedade intelectual no código-fonte do aplicativo.Ele é protegido contra observação casual por qualquer pessoa que tenha acesso ao sistema de arquivos do diretório do site Web.

Desvantagens

As desvantagens de pré-compilar um site Web com UI atualizável incluem o seguinte:

  • Requer uma etapa separada de compilação antes da implantação para servidores de produção.

  • A propriedade intelectual contida no código UI do aplicativo (arquivos .aspx) está disponível para qualquer pessoa com acesso ao diretório do site.

  • Várias páginas não poderão fazer referência à mesma classe CodeFile, que é o arquivo de código associado a uma página que usa o modelo code-behind.

Quando fazer pré-compilação com UI atualizável

Precompile seu aplicativo com UI atualizável nas seguintes situações:

  • Projetores de UI estão trabalhando separadamente dos desenvolvedores de código-fonte.

  • O código-fonte contém propriedade intelectual que você deseja proteger contra observação casual.

  • Não deseja guardar o código-fonte de programa no servidor de produção.

Pré-compilação com UI não atualizável

A ferramenta de compilação do ASP.NET pode compilar todo o código-fonte de um aplicativo em DLLs que são implantadas no diretório Bin do aplicativo.Isso inclui arquivos de interface do usuário, como .aspx e .ascx.

For more information about this compilation method, see Como: Pré-compila sites da Web do ASP.NET para implantação.

Vantagens

As vantagens de pré-compilar com UI não atualizável incluem o seguinte:

  • Tempo de resposta para a primeira solicitação do site da Web é reduzido.

  • Existe uma medida de proteção para a propriedade intelectual no código-fonte do aplicativo e no código da UI.Ele é protegido contra observação casual por qualquer pessoa que tenha acesso ao diretório do site Web.

Desvantagens

As desvantagens do pré-compilar com UI não atualizável incluem o seguinte:

  • Requer uma etapa separada de compilação antes da implantação para servidores de produção.

  • Mesmo pequenas mudanças na UI do aplicativo exigem que todo o site seja recompilado.

Quando fazer pré-compilação com UI não atualizável

Precompile o site da Web para ter UI não atualizável nas seguintes situações:

  • O código UI contém propriedade intelectual que você deseja proteger contra observação casual.

  • Não é necessário alterar a UI com frequência.

  • Você deseja ter apenas DLLs compiladas no servidor de produção.

Pré-compilação para montagens (assemblies) com nome fixo

A ferramenta de compilação ASP.NET utiliza nomes aleatórios para os módulos que são gerados durante compilação.O nome da montagem (assembly) é alterada sempre que o aplicativo for recompilado.

Como o nome da montagem (assembly) muda, você deve reimplantar o aplicativo inteiro para atender a uma montagem.Entretanto, usando a opção -fixednames da ferramenta de compilação do ASP.NET, você pode criar uma montagem para cada página do aplicativo.O nome dos módulos não serão alterados em compilações subsequentes.Assim, você pode criar versões de serviços do aplicativo que substituem apenas os módulos alterados.

Já que a opção -fixednames cria uma módulo individual para cada página, você deve limitar o número de páginas no aplicativo.

Para mais informações sobre este modelo de compilação, consulte Como: Gerar Fixed Names with the ASP.NET Compilation ferramenta.

Vantagens

As vantagens de pré-compilação para módulos (assemblies) de nome fixo incluem o seguinte:

  • O nome dos módulos individuais não mudam de compilação para compilação.Isso permite que você substituam módulos sem reimplantar o aplicativo inteiro.

  • Atualizações secundárias para o aplicativo podem ser mais precisas.

Desvantagens

As desvantagens de pré-compilação para módulos (assemblies) de nome fixo incluem o seguinte:

  • Uma montagem é criada para cada página no aplicativo.Isso pode criar vários módulos para sites que têm muitas páginas.

Quando fizer pré-compilação para montagens de nome fixo.

Precompile o site Web para módulos de nome fixo nas seguintes situações:

  • You must service Web applications without replacing the whole application.

Pré-compilação para montagens assinadas

You can use the ASP.NET compilation tool to create strong-named assemblies that can be deployed to the server's Global Assembly Cache (GAC) or to the Bin directory of the application.A signed assembly makes it more difficult for malicious users to replace the application's assemblies with malicious code.

For more information about this compilation method, see Como: Assinar assemblies para sites da Web pré-compilados.

Vantagens

As vantagens de pré-compilação de motangens assinadas incluem o seguinte:

  • Signed assemblies increase the security of the application by making it more difficult for the assemblies to be replaced by malicious code.

Desvantagens

As desvantagens de pré-compilação de montagens assinadas incluem o seguinte:

  • Gerenciamento de chaves em ambientes de desenvolvimento compartilhado podem ser complexo.

  • Assemblies must have the AllowPartiallyTrustedCallersAttribute attribute to be called by the ASP.NET runtime.

Quando fazer pré-compilação para montagens assinadas

Precompile the Web site to signed assemblies in the following situations:

  • Os usuários têm acesso ao diretório de aplicativo ou GAC e eles podem substituir módulos (assemblies) do aplicativo.

  • You want to limit the ability of third parties to replace the assemblies generated by the application code.

Gravar saída da Pré-compilação

Quando o processo de pré-compilação for concluído, a saída resultante será gravada em uma pasta que você especificar.Você pode escrever a saída para qualquer pasta que seja acessível a você no sistema de arquivos, usando o protocolo FTP, ou por HTTP.Você deve ter permissões para ser capaz de gravar no site de destino apropriado.

Observação:

The publishing process deploys only the files from the Web site's folders and subfolders.Ele não implante o arquivo Machine.config.Therefore, the configuration of the target Web server might be different than it is on your computer, which might affect the behavior of the application.

Você pode especificar uma pasta de destino em um servidor de teste ou servidor de produção, ou você pode escrever a saída para uma pasta no seu computador local.Se você especificar uma pasta em um servidor de produção, você pode pré-compilar e implantar em uma única etapa.Se você escolher gravar a saída em uma pasta que não faz parte de um site, você pode copiar a saída para o servidor em uma etapa separada.

Observação:

Se você abrir um site da Web pré-compilado usando Visual Studio, você não será capaz de construir o site da Web.Opções de construção serão desativadas.To change the site, it is recommended that you edit the files in the original Web site, precompile the site, and then publish it again.

A saída do processo de compilação inclui os módulos compilados para qualquer código ou páginas.If you select the option to enable the precompiled site to be updated, any code-behind classes for .aspx, .asmx, and .ashx files are compiled into assemblies.Entretanto, os arquivos .aspx,.asmx, e.ashx são copiados como estiverem para a pasta de destino para que você possa fazer as alterações em seu layout após a implantação do site.Para sites pré-compilados que podem ser atualizados, o código em páginas de Arquivo Único não é compilado em um conjunto de módulos (assembly).Em vez disso, ele será implantado como código-fonte.

Arquivos estáticos não são compilados.Em vez disso, eles são copiados como estiverem para a pasta de saída.Arquivos estáticos incluem elementos gráficos, arquivos .htm ou .html, arquivos de texto, e assim por diante.For more information, see File Handling During Site Compilation for Deployment later in this topic.

Se ocorrer um erro durante a pré-compilação, ele é relatado a você na janela Output e na janela Error List.Erros durante a pré-compilação impedirão que o site seja compilado e publicado.

Tratamento dos arquivos durante a pré-compilação do ASP.NET

Quando você precompila um site para implantação, o ASP.NET cria um layout, que é uma estrutura que contém a saída do compilador.Esta seção descreve como os arquivos são tratados durante a pré-compilação e a estrutura de layout e conteúdo.

Pode-se pré-compilar o código-fonte (qualquer arquivo que produz um conjunto de módulos (assembly), que inclui um código de programa e recursos) e a marcação (arquivos .aspx) ou apenas código-fonte.

Arquivos compilados

O processo de pré-compilação executa ações em vários tipos de arquivos num aplicativo ASP.NET.Os arquivos são tratados de maneira diferente dependendo se o aplicativo está sendo pré-compilado apenas para implantação ou se ele está sendo pré-compilado para implantação e atualização.

Observação:

Precompilando um site para implantação apenas ou para implantação e atualização não preserva as listas de controle de acesso aos arquivos (ACLs) nos arquivos de destino e subpastas.Por exemplo, se você tiver previamente precompilado um site e implantado para um local de destino, alterado a ACL de um arquivo e, em seguida, precompilado e implantado o site novamente, a alteração da ACL será perdida.

A tabela a seguir descreve diferentes tipos de arquivo e as ações executadas neles se o aplicativo estiver sendo precompilado apenas para implantação.

Tipos de arquivo

Ação de pré-compilação

Localidade de saída

.aspx, ascx, .master

Gera módulos e um arquivo .Compiled que aponta para o módulo (assembly).O arquivo original é deixado pronto como espaço reservado para execução de solicitações.

Os módulos e arquivos .compiled são gravados para a pasta Bin.As páginas (arquivos .aspx, com conteúdo retirado) são deixadas em seus locais originais.

.asmx, .ashx

Gera módulos (assemblies).O arquivo original é deixado pronto como espaço reservado para execução de solicitações.

Pasta Bin

Arquivos na pasta App_Code

Gera um ou mais módulos (dependendo das configurações do web.config).

Observação:
O conteúdo estático na pasta App_Code não é copiado para a pasta de destino.

Pasta Bin

Arquivos .cs ou .vb não presentes na pasta App_Code

Compila com a página ou com o recurso que dele depende.

Pasta Bin

Arquivos .dll existentes na pasta Bin.

Copia os arquivos como estão.

Pasta Bin

Arquivos de recursos (.resx)

Para arquivos .resx encontrados nas pastas App_LocalResources ou App_GlobalResources, gera-se um módulo ou conjuntos de módulos (assemblies) e uma estrutura de cultura.

Pasta Bin

Arquivos da pasta App_Themes e subpastas

Gera conjuntos de módulos no destino e gera arquivos .compiled que apontam para os conjuntos de módulos (assemblies).

Bin

Arquivos estáticos (.htm, .html, .js, arquivos gráficos e assim por diante)

Copia os arquivos como estão.

Mesma estrutura como na fonte.

Arquivos de definição do navegador

Copia os arquivos como estão.

Observação:
As informações sobre o navegador são herdadas dos arquivos de configuração no nível da máquina e podem, portanto, se comportar de maneira diferente no servidor de destino.

App_Browsers

Projetos dependentes

Gera a saída do projeto dependente em um módulo.

Pasta Bin

Arquivos Web.config

Copia os arquivos como estão.

Mesma estrutura como na fonte.

Arquivos Global.asax

Gera um módulo.

Pasta Bin

A tabela a seguir descreve diferentes tipos de arquivo e as ações executadas neles se o aplicativo estiver sendo precompilado para implantação e atualização.

Tipos de arquivo

Ação de pré-compilação

Localidade de saída

.aspx, ascx, .master

Gera módulos de arquivos que têm arquivos com classes code-behind.Gera um arquivo .compiled que aponta para o módulo.Versões de arquivo único desses arquivos são copiadas como estão para o destino.

Os módulos e arquivos .compiled são gravados para a pasta Bin.

.asmx, .ashx

Copia os arquivos como estão sem compilação.

Mesma estrutura como na fonte.

Arquivos na pasta App_Code

Gera um ou mais módulos (dependendo das configurações do web.config).

Observação:
O conteúdo estático na pasta App_Code não é copiado para a pasta de destino.

Pasta Bin

Arquivos .cs ou .vb não presentes na pasta App_Code

Compila com a página ou com o recurso que dele depende.

Pasta Bin

Arquivos .dll existentes na pasta Bin.

Copia os arquivos como estão.

Pasta Bin

Arquivos de recursos (.resx)

Para arquivos .resx nas pastas App_GlobalResources, gera-se um módulo ou conjuntos de módulos e uma estrutura de cultura.

Para arquivos .resx nas pastas App_LocalResources, copia-se os arquivos como estão para a pasta App_LocalResources do local de saída.

Os módulos são colocados na pasta bin

Arquivos da pasta App_Themes e subpastas

Copia os arquivos como estão.

Mesma estrutura como na fonte.

Arquivos estáticos (.htm, .html, .js, arquivos gráficos e assim por diante)

Copia os arquivos como estão.

Mesma estrutura como na fonte.

Arquivos de definição do navegador

Copia os arquivos como estão.

Observação:
As informações sobre o navegador são herdadas dos arquivos de configuração no nível da máquina e podem, portanto, se comportar de maneira diferente no servidor de destino.

App_Browsers

Projetos dependentes

Gera a saída do projeto dependente em um módulo.

Pasta Bin

Arquivos Web.config

Copia os arquivos como estão.

Mesma estrutura como na fonte.

Arquivos Global.asax

Gera um módulo.

Pasta Bin

Arquivos .compiled

Para arquivos executáveis num aplicativo ASP.NET, o compilador adiciona a extensão .compiled ao nome dos módulos e arquivos.O nome do módulo é gerado pelo compilador.O arquivo .compiled não contém código executável.Em vez disso, ele contém apenas as informações que o ASP.NET deve ter para localizar o módulo apropriado.

Após a implantação do aplicativo pré-compilado, o ASP.NET usa os módulos da pasta Bin para processar solicitações.A saída da pré-compilação inclui arquivos .aspx ou .asmx assim como espaços reservados para as páginas.Os arquivos no espaço reservado não contêm nenhum código.Eles existem somente para chamar o ASP.NET numa solicitação a uma página específica.Os arquivos do espaço reservado também fornecem uma maneira para que as permissões de arquivo possam ser definidas para restringir o acesso às páginas.

Atualizando sites Web precompilados

Depois de implantar um site da Web pré-compilado, você pode fazer alterações restritas nos arquivos do site.A tabela a seguir descreve o efeito dos diferentes tipos de alterações.

Tipo de arquivo

Alterações permitidas (somente implantação)

Alterações permitidas (implantação e atualização)

Arquivos estáticos (.htm, .html, .js, arquivos gráficos e assim por diante)

Arquivos estáticos podem ser alterados, removidos ou adicionados.Se uma página ASP.NET se referir a páginas ou elementos de página que são alterados ou removidos, poderão ocorrer erros.

Arquivos estáticos podem ser alterados, removidos ou adicionados.Se uma página ASP.NET se referir a páginas ou elementos de página que são alterados ou removidos, poderão ocorrer erros.

arquivo .aspx

Nenhuma alteração é permitida para as páginas existentes.Nenhum arquivo .aspx pode ser adicionado.

Pode-se alterar o layout dos arquivos .aspx e adicionar elementos que não requerem código, como elementos HTML e controles de servidor ASP.NET que não possuam manipuladores de eventos.Você também pode adicionar novos arquivos .aspx, que são compilados na primeira solicitação.

arquivos .skin

As alterações e novos arquivos .skin são ignorados.

As alterações e novos arquivos .skin são permitidos.

Arquivos Web.config

As alterações que afetam a compilação de arquivos .aspx são permitidas.Opções de compilação para depuração ou em lotes serão ignoradas.

Nenhuma alteração nas propriedades de perfil ou em elementos provedores é permitida.

As alterações são permitidas se elas não afetarem a compilação do site ou página.Isso inclui as configurações do compilador, níveis de confiança e globalização.As alterações que afetam a compilação ou que alteram o comportamento em páginas compiladas serão ignoradas ou poderão gerar erros.Outras alterações são permitidas.

Definições do navegador

Alterações e arquivos novos são permitidos.

Alterações e arquivos novos são permitidos.

Módulos compilados dos arquivos de recurso (.resx)

Novos arquivos de módulos de recurso podem ser adicionados para recursos globais e locais.

Novos arquivos de módulos de recurso podem ser adicionados para recursos globais e locais.

Exemplos de código

Como: Pré-compila sites da Web do ASP.NET para implantação

Como: Assinar assemblies para sites da Web pré-compilados

Como: Criar conjuntos com versão atualizada para sites da Web pré-compilados

Como: Gerar Fixed Names with the ASP.NET Compilation ferramenta

Como: Configurar sites da Web publicados

Voltar ao topo

Consulte também

Referência

ASP.NET Compilation Tool (Aspnet_compiler.exe)

Voltar ao topo