Compartilhar via


Tarefa GenerateApplicationManifest

Gera um ClickOnce o manifesto de aplicativo ou um manifesto nativo.Um manifesto nativo descreve um componente definindo uma identidade exclusiva para o componente e identificar todos os assemblies e arquivos que compõem o componente.A ClickOnce um manifesto nativo estende o manifesto do aplicativo indicando o ponto de entrada do aplicativo, e especificando o nível de segurança do aplicativo.

Parâmetros

A tabela a seguir descreve os parâmetros para o GenerateApplicationManifest tarefa.

Parâmetro

Descrição

AssemblyName

Opcional String parâmetro.

Especifica o Name campo da identidade do assembly para obter o manifesto gerado.Se este parâmetro não for especificado, o nome é inferido da EntryPoint ou InputManifest parâmetros.Se nenhum nome pode ser criado, a tarefa lança um erro.

AssemblyVersion

Opcional String parâmetro.

Especifica o Version campo da identidade do assembly para obter o manifesto gerado.Se este parâmetro não for especificado, um valor padrão de "1.0.0.0" é usado.

ClrVersion

Opcional String parâmetro.

Especifica a versão mínima do tempo de execução do CLR (Common Language) exigidos pelo aplicativo.O valor padrão é a versão do CLR em uso pelo sistema de compilação.Se a tarefa está gerando um manifesto nativo, esse parâmetro é ignorado.

ConfigFile

Opcional ITaskItem[] parâmetro.

Especifica qual item contém o arquivo de configuração do aplicativo.Se a tarefa está gerando um manifesto nativo, esse parâmetro é ignorado.

Dependencies

Opcional ITaskItem[] parâmetro.

Especifica uma lista de itens que define o conjunto de módulos (assemblies) dependentes para o manifesto gerado.Cada item pode ser descrito com mais detalhes por metadados de item para indicar o estado de implantação adicionais e o tipo de dependência.Para obter mais informações, consulte a seção "Metadados" abaixo.

Description

Opcional String parâmetro.

Especifica a descrição para o aplicativo ou componente.

EntryPoint

Opcional ITaskItem[] parâmetro.

Especifica um único item que indica o ponto de entrada para o assembly do manifesto gerado.

Para um ClickOnce o manifesto de aplicativo, este parâmetro especifica o assembly que é iniciado quando o aplicativo é executado.

ErrorReportUrl

Opcional [String] parâmetro.

Especifica a URL da página da Web que é exibida nas caixas de diálogo durante a relatórios de erros em instalações de ClickOnce.

FileAssociations

Opcional ITaskItem[] parâmetro.

Especifica uma lista de tipo de arquivo de um ou mais que estão associados com o manifesto de implantação ClickOnce.

Associações de arquivo só é válido somente quando.NET Framework 3.5 ou posterior é direcionado.

Files

Opcional ITaskItem[] parâmetro.

Os arquivos a serem incluídos no manifesto.Especifique o caminho completo para cada arquivo.

HostInBrowser

Opcional [Boolean] parâmetro.

Se true, o aplicativo é hospedado em um navegador (como aplicativos de navegador da Web WPF).

IconFile

Opcional ITaskItem[] parâmetro.

Indica o arquivo de ícone do aplicativo.O ícone do aplicativo é expresso no manifesto do aplicativo gerados e é usado para a caixa de diálogo do Menu Iniciar e adicionar ou remover programas.Se essa entrada não for especificada, um ícone padrão é usado.Se a tarefa está gerando um manifesto nativo, esse parâmetro é ignorado.

InputManifest

Opcional ITaskItem parâmetro.

Indica um documento XML de entrada para servir como base para o gerador de manifesto.Isso permite que dados estruturados, como segurança de aplicativos ou definições personalizadas de manifesto sejam refletidos no manifesto de saída.O elemento raiz no documento XML deve ser um nó de assembly no namespace asmv1.

IsolatedComReferences

Opcional ITaskItem[] parâmetro.

Especifica os componentes COM para isolar no manifesto gerado.Este parâmetro oferece suporte a capacidade de isolar os componentes COM para a implantação de "Registro gratuito COM".Ele funciona por meio da geração automática de um manifesto com definições padrão de registro COM.No entanto, os componentes COM devem ser registrados no computador para que isso funcione corretamente.

ManifestType

Opcional String parâmetro.

Especifica o tipo de manifesto para gerar.Este parâmetro pode ter os seguintes valores:

  • Native

  • ClickOnce

Se este parâmetro não for especificado, a tarefa padrão ClickOnce.

MaxTargetPath

Opcional String parâmetro.

Especifica o comprimento máximo permitido de um caminho de arquivo em um ClickOnce implantação de aplicativos.Se esse valor for especificado, o comprimento de cada caminho do arquivo no aplicativo é verificado contra esse limite.Todos os itens que excedem o limite irá gerar um aviso de compilação.Se essa entrada não for especificada ou for zero, então nenhuma verificação será executada.Se a tarefa está gerando um manifesto nativo, esse parâmetro é ignorado.

OSVersion

Opcional String parâmetro.

Especifica a versão mínima necessárias de sistema operacional (SO) exigida pelo aplicativo.Por exemplo, o valor "5.1.2600.0" indica que o sistema operacional for Windows XP.Se este parâmetro não for especificado, será usado o valor "4.10.0.0", que indica que o Windows 98 Second Edition, o mínimo de SO do suporte para o.NET Framework.Se a tarefa está gerando um manifesto nativo, essa entrada é ignorada.

OutputManifest

Opcional ITaskItem parâmetro de saída.

Especifica o nome do arquivo de manifesto da saída gerada.Se este parâmetro não for especificado, o nome do arquivo de saída é inferido da identidade do manifesto gerado.

Platform

Opcional String parâmetro.

Especifica a plataforma de destino do aplicativo.Este parâmetro pode ter os seguintes valores:

  • AnyCPU

  • x86

  • x64

  • Itanium

Se este parâmetro não for especificado, a tarefa padrão AnyCPU.

Product

Opcional String parâmetro.

Especifica o nome do aplicativo.Se este parâmetro não for especificado, o nome é inferido da identidade do manifesto gerado.Esse nome é usado para o nome do atalho no menu Iniciar e é parte do nome que aparece na caixa de diálogo Adicionar ou remover programas.

Publisher

Opcional String parâmetro.

Especifica o Editor do aplicativo.Se este parâmetro não for especificado, o nome é inferido do usuário registrado, ou a identidade do manifesto gerado.Esse nome é usado para o nome da pasta no menu Iniciar e é parte do nome que aparece na caixa de diálogo Adicionar ou remover programas.

RequiresMinimumFramework35SP1

Opcional Boolean parâmetro.

Se true, o aplicativo requer o.NET Framework 3.5 SP1 ou uma versão mais recente.

TargetCulture

Opcional String parâmetro.

Identifica a cultura do aplicativo e especifica o Language campo da identidade do assembly para obter o manifesto gerado.Se este parâmetro não for especificado, presume-se que o aplicativo está cultura invariável.

TargetFrameworkMoniker

Opcional [String] parâmetro.

Especifica o identificador de origem do framework de destino.

TargetFrameworkProfile

Opcional [String] parâmetro.

Especifica o perfil do framework de destino.

TargetFrameworkSubset

Opcional [String] parâmetro.

Especifica o nome da.Subconjunto do NET Framework para o destino.

TargetFrameworkVersion

Opcional [String] parâmetro.

Especifica o destino.NET Framework do projeto.

TrustInfoFile

Opcional ITaskItem parâmetro.

Indica um documento XML que especifica a segurança do aplicativo.O elemento raiz no documento XML deve ser um nó de trustInfo no namespace asmv2.Se a tarefa está gerando um manifesto nativo, esse parâmetro é ignorado.

UseApplicationTrust

Opcional [Boolean] parâmetro.

Se verdadeiro, o Product, Publisher, e SupportUrl propriedades são gravadas para o manifesto do aplicativo.

Comentários

Com os parâmetros listados acima, esta tarefa herda os parâmetros da GenerateManifest herda de classe, que por si só a Task classe.Para obter uma lista dos parâmetros da classe Task, consulte Classe Base da tarefa.

Para obter informações sobre como usar o GenerateDeploymentManifest de tarefas, consulte Tarefa GenerateApplicationManifest.

As entradas de dependências e arquivos podem ser ainda mais decoradas com metadados de item para especificar o estado de implantação adicionais para cada item.

Metadados de item

Nome de metadados

Descrição

DependencyType

Indica se a dependência é publicada e instalada com o aplicativo ou um pré-requisito.Esses metadados é válido para todas as dependências, mas não é usado para arquivos.Os valores disponíveis para esses metadados são:

  • Install

  • Prerequisite

O valor padrão é de instalação.

AssemblyType

Indica se a dependência é gerenciada ou um assembly nativo.Esses metadados é válido para todas as dependências, mas não é usado para arquivos.Os valores disponíveis para esses metadados são:

  • Managed

  • Native

  • Unspecified

Unspecifiedé o valor padrão, o que indica que o gerador de manifesto determinará o tipo de assembly automaticamente.

Group

Indica o grupo para o download de arquivos adicionais sob demanda.O nome do grupo é definido pelo aplicativo e pode ser qualquer seqüência.Uma seqüência de caracteres vazia indica que o arquivo não é parte de um grupo de download, que é o padrão.Arquivos não está no grupo fazem parte do download inicial do aplicativo.Arquivos em um grupo somente são baixados quando solicitadas explicitamente usando o aplicativo System.Deployment.Application.

Esses metadados são válido para todos os arquivos em que IsDataFile é false e todas as dependências onde DependencyType é Install.

TargetPath

Especifica como o caminho deve ser definido no manifesto gerado.Esse atributo não é válido para todos os arquivos.Se este atributo não for especificado, a especificação do item é usada.Esse atributo é válido para todos os arquivos e dependências com um DependencyType valor de Install.

IsDataFile

A Boolean valor de metadados que indica se o arquivo é um arquivo de dados.Um arquivo de dados é especial em que ele foi migrado entre atualizações de aplicativos.Esses metadados só são válido para os arquivos.Falseé o valor padrão.

Exemplo

Este exemplo usa a GenerateApplicationManifest para gerar um ClickOnce o manifesto de aplicativo e o GenerateDeploymentManifest para gerar um manifesto de implantação para um aplicativo com um único assembly.Em seguida, usa o SignFile tarefa para assinar os manifestos.

Isso ilustra o cenário mais simples de geração de manifesto possíveis onde ClickOnce manifestos são gerados para um único programa.Um nome padrão e identidade são inferidos do assembly para obter o manifesto.

ObservaçãoObservação

No exemplo abaixo, todos os binários do aplicativo são pré-criados para enfocar os aspectos de geração de manifesto.Este exemplo produz um trabalho totalmente ClickOnce implantação.

ObservaçãoObservação

Para obter mais informações sobre o Thumbprint propriedade usada na SignFile de tarefas neste exemplo, consulte Tarefa SignFile.

<Project DefaultTargets="Build"
    xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <EntryPoint Include="SimpleWinApp.exe" />
    </ItemGroup>

    <PropertyGroup>
        <Thumbprint>
             <!-- Insert generated thumbprint here -->
        </Thumbprint>
    </PropertyGroup>

    <Target Name="Build">

        <GenerateApplicationManifest
            EntryPoint="@(EntryPoint)">
            <Output
                ItemName="ApplicationManifest"
                TaskParameter="OutputManifest"/>
        </GenerateApplicationManifest>

        <GenerateDeploymentManifest
            EntryPoint="@(ApplicationManifest)">
            <Output
                ItemName="DeployManifest"
                TaskParameter="OutputManifest"/>
        </GenerateDeploymentManifest>

        <SignFile
            CertificateThumbprint="$(Thumbprint)"
            SigningTarget="@(ApplicationManifest)"/>

        <SignFile
            CertificateThumbprint="$(Thumbprint)"
            SigningTarget="@(DeployManifest)"/>

    </Target>
</Project>

Este exemplo usa a GenerateApplicationManifest e GenerateDeploymentManifest tarefas para gerar ClickOnce manifestos de aplicativo e implantação de um aplicativo com um único assembly, especificando o nome e a identidade dos manifestos.

Este exemplo é semelhante ao exemplo anterior, exceto o nome e a identidade dos manifestos são explicitamente especificados.Além disso, este exemplo é configurado como um aplicativo on-line em vez de um aplicativo instalado.

ObservaçãoObservação

No exemplo abaixo, todos os binários do aplicativo são pré-criados para enfocar os aspectos de geração de manifesto.Este exemplo produz um trabalho totalmente ClickOnce implantação.

ObservaçãoObservação

Para obter mais informações sobre o Thumbprint propriedade usada na SignFile de tarefas neste exemplo, consulte Tarefa SignFile.

<Project DefaultTargets="Build"
    xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <EntryPoint Include="SimpleWinApp.exe" />
    </ItemGroup>

    <PropertyGroup>
        <Thumbprint>
             <!-- Insert generated thumbprint here -->
        </Thumbprint>
    </PropertyGroup>

    <Target Name="Build">

        <GenerateApplicationManifest
            AssemblyName="SimpleWinApp.exe"
            AssemblyVersion="1.0.0.0"
            EntryPoint="@(EntryPoint)"
            OutputManifest="SimpleWinApp.exe.manifest">
            <Output
                ItemName="ApplicationManifest"
                TaskParameter="OutputManifest"/>
        </GenerateApplicationManifest>

        <GenerateDeploymentManifest
                AssemblyName="SimpleWinApp.application"
                AssemblyVersion="1.0.0.0"
                EntryPoint="@(ApplicationManifest)"
                Install="false"
                OutputManifest="SimpleWinApp.application">
                <Output
                    ItemName="DeployManifest"
                    TaskParameter="OutputManifest"/>
        </GenerateDeploymentManifest>

        <SignFile
            CertificateThumbprint="$(Thumbprint)"
            SigningTarget="@(ApplicationManifest)"/>

        <SignFile
            CertificateThumbprint="$(Thumbprint)"
            SigningTarget="@(DeployManifest)"/>

    </Target>
</Project>

Este exemplo usa a GenerateApplicationManifest e GenerateDeploymentManifest tarefas para gerar ClickOnce manifestos de aplicativo e implantação de um aplicativo com vários arquivos e assemblies.

ObservaçãoObservação

No exemplo abaixo, todos os binários do aplicativo são pré-criados para enfocar os aspectos de geração de manifesto.Este exemplo produz um trabalho totalmente ClickOnce implantação.

ObservaçãoObservação

Para obter mais informações sobre o Thumbprint propriedade usada na SignFile de tarefas neste exemplo, consulte Tarefa SignFile.

<Project DefaultTargets="Build"
    xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <EntryPoint Include="SimpleWinApp.exe" />
    </ItemGroup>

    <PropertyGroup>
        <Thumbprint>
             <!-- Insert generated thumbprint here -->
        </Thumbprint>
        <DeployUrl>
            <!-- Insert the deployment URL here -->
        </DeployUrl>
        <SupportUrl>
            <!-- Insert the support URL here -->
        </SupportUrl>
    </PropertyGroup>

    <Target Name="Build">

    <ItemGroup>
        <EntryPoint Include="SimpleWinApp.exe"/>
        <Dependency Include="ClassLibrary1.dll">
            <AssemblyType>Managed</AssemblyType>
            <DependencyType>Install</DependencyType>
        </Dependency>
        <Dependency Include="ClassLibrary2.dll">
            <AssemblyType>Managed</AssemblyType>
            <DependencyType>Install</DependencyType>
            <Group>Secondary</Group>
        </Dependency>
        <Dependency Include="MyAddIn1.dll">
            <AssemblyType>Managed</AssemblyType>
            <DependencyType>Install</DependencyType>
            <TargetPath>Addins\MyAddIn1.dll</TargetPath>
        </Dependency>
        <Dependency Include="ClassLibrary3.dll">
            <AssemblyType>Managed</AssemblyType>
            <DependencyType>Prerequisite</DependencyType>
        </Dependency>

        <File Include="Text1.txt">
            <TargetPath>Text\Text1.txt</TargetPath>
            <Group>Text</Group>
        </File>
        <File Include="DataFile1.xml ">
            <TargetPath>Data\DataFile1.xml</TargetPath>
            <IsDataFile>true</IsDataFile>
        </File>

        <IconFile Include="Heart.ico"/>
        <ConfigFile Include="app.config">
            <TargetPath>SimpleWinApp.exe.config</TargetPath>
        </ConfigFile>
        <BaseManifest Include="app.manifest"/>
    </ItemGroup>

    <Target Name="Build">

        <GenerateApplicationManifest
            AssemblyName="SimpleWinApp.exe"
            AssemblyVersion="1.0.0.0"
            ConfigFile="@(ConfigFile)"
            Dependencies="@(Dependency)"
            Description="TestApp"
            EntryPoint="@(EntryPoint)"
            Files="@(File)"
            IconFile="@(IconFile)"
            InputManifest="@(BaseManifest)"
            OutputManifest="SimpleWinApp.exe.manifest">
            <Output
                ItemName="ApplicationManifest"
                TaskParameter="OutputManifest"/>
        </GenerateApplicationManifest>

        <GenerateDeploymentManifest
            AssemblyName="SimpleWinApp.application"
            AssemblyVersion="1.0.0.0"
            DeploymentUrl="$(DeployToUrl)"
            Description="TestDeploy"
            EntryPoint="@(ApplicationManifest)"
            Install="true"
            OutputManifest="SimpleWinApp.application"
            Product="SimpleWinApp"
            Publisher="Microsoft"
            SupportUrl="$(SupportUrl)"
            UpdateEnabled="true"
            UpdateInterval="3"
            UpdateMode="Background"
            UpdateUnit="weeks">
            <Output
                ItemName="DeployManifest"
                TaskParameter="OutputManifest"/>
        </GenerateDeploymentManifest>

        <SignFile
            CertificateThumbprint="$(Thumbprint)"
            SigningTarget="@(ApplicationManifest)"/>

        <SignFile
            CertificateThumbprint="$(Thumbprint)"
            SigningTarget="@(DeployManifest)"/>

    </Target>
</Project>

Este exemplo usa a GenerateApplicationManifest para gerar um manifesto nativo para o aplicativo Test. exe, fazendo referência a Alpha.dll do componente nativo e um componente isolado do COM Bravo.dll.

Este exemplo produz o Test.exe.manifest, tornando o aplicativo XCOPY implantáveis beneficiando-se com. livre de registro

ObservaçãoObservação

No exemplo abaixo, todos os binários do aplicativo são pré-criados para enfocar os aspectos de geração de manifesto.Este exemplo produz um trabalho totalmente ClickOnce implantação.

<Project DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <File Include="Test.exe" />
        <Dependency Include="Alpha.dll">
            <AssemblyType>Native</AssemblyType>
            <DependencyType>Install</DependencyType>
        </Dependency>
        <ComComponent Include="Bravo.dll" />
    </ItemGroup>

    <Target Name="Build">
        <GenerateApplicationManifest
            AssemblyName="Test.exe"
            AssemblyVersion="1.0.0.0"
            Dependencies="@(Dependency)"
            Files="@(File)"
            IsolatedComReferences="@(ComComponent)"
            ManifestType="Native">
            <Output
                ItemName="ApplicationManifest"
                TaskParameter="OutputManifest"/>
        </GenerateApplicationManifest>

    </Target>
</Project>

Consulte também

Referência

Tarefa GenerateDeploymentManifest

Tarefa SignFile

Conceitos

Tarefas do MSBuild

Outros recursos

Referência de tarefa do MSBuild