Partilhar via


Serviço de imagem nativa

O nativo serviço de imagem é um serviço do Windows que gera e mantém nativo imagens. O nativo serviço de imagem permite que o desenvolvedor adiar a instalação e atualização de nativo imagens para períodos quando o computador estiver ocioso.

Normalmente, o nativo serviço de imagem é iniciado pelo programa de instalação (instalador) para um aplicativo ou atualização. Para ações de prioridade 3, o serviço é executado durante o time ocioso do computador. O serviço salva seu estado e é capaz de continuar com várias reinicializações, se necessário. Várias compilações de imagem podem ser colocados na fila.

O serviço também interage com o comando NGen.exe manual. Comandos manual têm precedência sobre plano de fundo atividade.

ObservaçãoObservação:

No Windows Vista, o nome exibido para o nativo imagem o serviço é "NGEN Microsoft.NET estrutura v2.0.50727_X86" ou "NGEN Microsoft.NET estrutura v2.0.50727_X64". Em todos os anteriormente v ersions do Microsoft Windows, o nome "Serviço de otimização de tempo de execução .NET v2.0.50727_X86" ou "Serviço de otimização de tempo de execução .NET v2.0.50727_X64" .

Iniciando operações adiadas

Antes de iniciar uma instalação ou atualização, a pausa do serviço é recomendável. Isso garante que o serviço não é executado enquanto o instalador está copiando os arquivos ou colocando os assemblies no global assembly cache. A seguinte linha de comando do NGen.exe pausa o serviço:

ngen queue pause

Quando todas as operações adiadas foram na na fila, o comando a seguir permite que o serviço continuar:

ngen queue continue

Adiar nativo geração de imagem ao instalar um novo aplicativo ou quando atualizando um componente compartilhado, use o /queue a opção com o install ou update ações. A instalar de linhas de comando do NGen.exe seguir um nativo de imagem de um componente compartilhado e execute uma atualização de todas as raízes foram afetados:

ngen install MyComponent /queue
ngen update /queue

The update ação gera novamente todos os nativo imagens que foram invalidadas, não apenas aquelas que usam MyComponent.

Se seu aplicativo consiste em várias raízes, você pode controlar a prioridade de ações adiadas. Os seguintes comandos na fila a instalação dos três raízes. Assembly1 é instalado pela primeira vez, sem esperar por time ocioso. Assembly2 também é instalado sem espera por time ocioso, mas após tem concluído todas as ações de prioridade 1. Assembly3 é instalado quando o serviço detecta que o computador estiver ocioso.

ngen install Assembly1 /queue:1
ngen install Assembly2 /queue:2
ngen install Assembly3 /queue:3

Você pode forçar na fila ações sincronicamente, usando o executeQueuedItems ação. Se você fornecer a prioridade opcional, essa ação afeta somente as ações na fila com prioridade igual ou menor. A prioridade padrão é 3, portanto, o seguinte comando NGen.exe processa todas as ações em na fila imediatamente e não retorna até que elas estiverem concluído:

ngen executeQueuedItems

Comandos síncrono são executados pelo NGen.exe e não use o nativo serviço de imagem. Você pode executar ações usando NGen.exe enquanto o nativo serviço de imagem está sendo executado.

desligado de serviço

Depois que está sendo iniciada pela execução de um comando NGen.exe que inclui o /queue opção, o serviço é executado em segundo plano até que todas as ações tenham sido concluídas. O serviço salva seu estado para que possa continuar por meio de várias reinicializações se necessário. Quando o serviço detecta que há na fila sem mais ações, -redefine seu status para que ele não será reiniciado na próxima vez que o computador é inicializado e, em seguida, ele desliga propriamente dito.

Interação de serviço com clientes

No .NET estrutura versão 2.0, a única interação com o nativo serviço de imagem é por meio da ferramenta de linha de comando NGen.exe. Use a ferramenta de linha de comando em scripts de instalação para ações de fila para o serviço de imagem nativa e interagir com o serviço.

Consulte também

Referência

Nativo imagem gerador (NGen.exe)

Prompt de comando SDK