Idioma
Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Gera um manifesto do aplicativo ClickOnce ou um manifesto nativo. Um manifesto nativo descreve um componente definindo uma identidade exclusiva para o componente e identificando todos os assemblies e arquivos que compõem o componente. Um manifesto do aplicativo ClickOnce estende um manifesto nativo 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 da GenerateApplicationManifest tarefa.
| Parâmetro | Description |
|---|---|
AssemblyName |
Parâmetro opcional String .Especifica o Name campo da identidade do assembly para o manifesto gerado. Se esse parâmetro não for especificado, o nome será inferido dos EntryPoint parâmetros ou dos InputManifest parâmetros. Se nenhum nome puder ser criado, a tarefa gerará um erro. |
AssemblyVersion |
Parâmetro opcional String .Especifica o Version campo da identidade do assembly para o manifesto gerado. Se esse parâmetro não for especificado, um valor padrão de "1.0.0.0" será usado. |
ClrVersion |
Parâmetro opcional String .Especifica a versão mínima do CLR (Common Language Runtime) exigida pelo aplicativo. O valor padrão é a versão CLR em uso pelo sistema de build. Se a tarefa estiver gerando um manifesto nativo, esse parâmetro será ignorado. |
ConfigFile |
Parâmetro opcional ITaskItem[] .Especifica qual item contém o arquivo de configuração do aplicativo. Se a tarefa estiver gerando um manifesto nativo, esse parâmetro será ignorado. |
Dependencies |
Parâmetro opcional ITaskItem[] .Especifica uma lista de itens que define o conjunto de assemblies dependentes para o manifesto gerado. Cada item pode ser descrito por metadados de item para indicar o estado de implantação adicional e o tipo de dependência. Para obter mais informações, consulte metadados de item. |
Description |
Parâmetro opcional String .Especifica a descrição do aplicativo ou componente. |
EntryPoint |
Parâmetro opcional ITaskItem[] .Especifica um único item que indica o ponto de entrada para o assembly de manifesto gerado. Para um manifesto do aplicativo ClickOnce, esse parâmetro especifica o assembly que começa quando o aplicativo é executado. |
ErrorReportUrl |
Parâmetro opcional System.String . Especifica a URL da página da Web exibida em caixas de diálogo durante relatórios de erro nas instalações do ClickOnce. |
FileAssociations |
Parâmetro opcional ITaskItem[] .Especifica uma lista de um ou mais tipos de arquivo associados ao manifesto de implantação do ClickOnce. As associações de arquivo só são válidas quando .NET Framework 3.5 ou posterior é direcionado. |
Files |
Parâmetro opcional ITaskItem[] .Os arquivos a serem incluídos no manifesto. Especifique o caminho completo para cada arquivo. |
HostInBrowser |
Parâmetro opcional Boolean . Se trueo aplicativo estiver hospedado em um navegador (assim como WPF Aplicativos do Navegador da Web). |
IconFile |
Parâmetro opcional ITaskItem[] .Indica o arquivo de ícone do aplicativo. O ícone do aplicativo é expresso no manifesto do aplicativo gerado e é usado para a caixa de diálogo Menu Iniciar e Adicionar/Remover Programas . Se essa entrada não for especificada, um ícone padrão será usado. Se a tarefa estiver gerando um manifesto nativo, esse parâmetro será ignorado. |
InputManifest |
Parâmetro opcional ITaskItem . Indica um documento XML de entrada para servir como base para o gerador de manifesto. Isso permite que dados estruturados, como segurança do aplicativo ou definições de manifesto personalizadas, sejam refletidos no manifesto de saída. O elemento raiz no documento XML deve ser um nó de assembly no namespace asmv1. |
IsolatedComReferences |
Parâmetro opcional ITaskItem[] .Especifica os componentes COM a serem isolados no manifesto gerado. Esse parâmetro dá suporte à capacidade de isolar componentes COM para a implantação "COM livre de registro". Ele funciona gerando automaticamente um manifesto com definições de registro COM padrão. No entanto, os componentes COM devem ser registrados no computador de build para que isso funcione corretamente. |
LauncherBasedDeployment |
Parâmetro booliano opcional. Defina isso ao True criar para .NET Core 3.1, .NET 5 e versões posteriores para garantir que o executável do aplicativo seja renomeado para o nome executável esperado após a criação do executável do host do aplicativoapphost.exe. |
ManifestType |
Parâmetro opcional String .Especifica qual tipo de manifesto gerar. Este parâmetro pode ter os seguintes valores: - Native- ClickOnceSe esse parâmetro não for especificado, a tarefa usará como padrão ClickOnce. |
MaxTargetPath |
Parâmetro opcional String .Especifica o comprimento máximo permitido de um caminho de arquivo em uma implantação de aplicativo ClickOnce. Se esse valor for especificado, o comprimento de cada caminho de arquivo no aplicativo será verificado em relação a esse limite. Todos os itens que excederem o limite serão gerados em um aviso de build. Se essa entrada não for especificada ou for zero, nenhuma verificação será executada. Se a tarefa estiver gerando um manifesto nativo, esse parâmetro será ignorado. |
OSVersion |
Parâmetro opcional String .Especifica a versão mínima necessária do sistema operacional (SO) exigida pelo aplicativo. Se esse parâmetro não for especificado, o valor "4.10.0.0" será usado, o sistema operacional mínimo com suporte do .NET Framework. Se a tarefa estiver gerando um manifesto nativo, essa entrada será ignorada. |
OutputManifest |
Parâmetro de saída opcional ITaskItem . Especifica o nome do arquivo de manifesto de saída gerado. Se esse parâmetro não for especificado, o nome do arquivo de saída será inferido da identidade do manifesto gerado. |
Platform |
Parâmetro opcional String .Especifica a plataforma de destino do aplicativo. Este parâmetro pode ter os seguintes valores: - AnyCPU- x86- x64- ItaniumSe esse parâmetro não for especificado, a tarefa usará como padrão AnyCPU. |
Product |
Parâmetro opcional String .Especifica o nome do aplicativo. Se esse parâmetro não for especificado, o nome será inferido da identidade do manifesto gerado. Esse nome é usado para o nome do atalho no menu Iniciar e faz parte do nome que aparece na caixa de diálogo Adicionar ou Remover Programas . |
Publisher |
Parâmetro opcional String .Especifica o editor do aplicativo. Se esse parâmetro não for especificado, o nome será inferido do usuário registrado ou da identidade do manifesto gerado. Esse nome é usado para o nome da pasta no menu Iniciar e faz parte do nome que aparece na caixa de diálogo Adicionar ou Remover Programas . |
RequiresMinimumFramework35SP1 |
Parâmetro opcional Boolean .Se for true, o aplicativo exigirá o .NET Framework 3.5 SP1 ou uma versão mais recente. |
TargetCulture |
Parâmetro opcional String .Identifica a cultura do aplicativo e especifica o Language campo da identidade do assembly para o manifesto gerado. Se esse parâmetro não for especificado, supõe-se que o aplicativo seja invariável para a cultura. |
TargetFrameworkMoniker |
Parâmetro opcional String .Especifica o moniker da estrutura de destino. |
TargetFrameworkProfile |
Parâmetro opcional String .Especifica o perfil da estrutura de destino. |
TargetFrameworkSubset |
Parâmetro opcional String .Especifica o nome do subconjunto .NET Framework a ser direcionado. |
TargetFrameworkVersion |
Parâmetro opcional String .Especifica o .NET Framework de destino do projeto. |
TrustInfoFile |
Parâmetro opcional ITaskItem . Indica um documento XML que especifica a segurança do aplicativo. O elemento raiz no documento XML deve ser um nó trustInfo no namespace asmv2. Se a tarefa estiver gerando um manifesto nativo, esse parâmetro será ignorado. |
UseApplicationTrust |
Parâmetro opcional Boolean .Se true, as Productpropriedades e SupportUrl , e , Publishersão gravadas no manifesto do aplicativo. |
Observações
Além dos parâmetros listados acima, essa tarefa herda parâmetros da GenerateManifestBase classe, que herda da Task classe. Para obter uma lista dos parâmetros da classe Task, consulte a classe base task.
Para obter informações sobre como usar a GenerateDeploymentManifest tarefa, consulte a tarefa GenerateApplicationManifest.
As entradas para dependências e arquivos podem ser decoradas com metadados de item para especificar o estado de implantação adicional para cada item.
Metadados do item
| Nome dos metadados | Description |
|---|---|
DependencyType |
Indica se a dependência é publicada e instalada com o aplicativo ou um pré-requisito. Esses metadados são válidos para todas as dependências, mas não são usados para arquivos. Os valores disponíveis para esses metadados são: - Install- PrerequisiteA instalação é o valor padrão. |
AssemblyType |
Indica se a dependência é gerenciada ou um assembly nativo. Esses metadados são válidos para todas as dependências, mas não são usados para arquivos. Os valores disponíveis para esses metadados são: - Managed- Native- UnspecifiedUnspecified é o valor padrão, que indica que o gerador de manifesto determinará o tipo de assembly automaticamente. |
Group |
Indica o grupo para baixar arquivos adicionais sob demanda. O nome do grupo é definido pelo aplicativo e pode ser qualquer cadeia de caracteres. Uma cadeia de caracteres vazia indica que o arquivo não faz parte de um grupo de download, que é o padrão. Os arquivos que não estão em um grupo fazem parte do download inicial do aplicativo. Os arquivos em um grupo só são baixados quando solicitados explicitamente pelo aplicativo usando <xref:System.Deployment.Application>. Esses metadados são válidos para todos os arquivos onde IsDataFile está false e todas as dependências onde DependencyType está Install. |
TargetPath |
Especifica como o caminho deve ser definido no manifesto gerado. Esse atributo é válido para todos os arquivos. Se esse atributo não for especificado, a especificação do item será usada. Esse atributo é válido para todos os arquivos e dependências com um DependencyType valor de Install. |
IsDataFile |
Um Boolean valor de metadados que indica se o arquivo é ou não um arquivo de dados. Um arquivo de dados é especial porque é migrado entre as atualizações do aplicativo. Esses metadados só são válidos para arquivos.
False é o valor padrão. |
Exemplo 1
Este exemplo usa a GenerateApplicationManifest tarefa para gerar um manifesto do aplicativo ClickOnce e a GenerateDeploymentManifest tarefa para gerar um manifesto de implantação para um aplicativo com um único assembly. Em seguida, ele usa a SignFile tarefa para assinar os manifestos.
Isso ilustra o cenário de geração de manifesto mais simples possível em que os manifestos clickOnce são gerados para um único programa. Um nome e uma identidade padrão são inferidos do assembly para o manifesto.
Note
No exemplo abaixo, todos os binários de aplicativos são pré-criados para se concentrar em aspectos de geração de manifesto. Este exemplo produz uma implantação do ClickOnce totalmente funcional.
Note
Para obter mais informações sobre a Thumbprint propriedade usada na SignFile tarefa neste exemplo, consulte a tarefa SignFile.
<Project DefaultTargets="Build">
<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>
Exemplo 2
Este exemplo usa as tarefas e GenerateDeploymentManifest as GenerateApplicationManifest tarefas para gerar manifestos de aplicativo e implantação do ClickOnce para um aplicativo com um único assembly, especificando o nome e a identidade dos manifestos.
Este exemplo é semelhante ao exemplo anterior, exceto que o nome e a identidade dos manifestos são especificados explicitamente. Além disso, este exemplo é configurado como um aplicativo online em vez de um aplicativo instalado.
Note
No exemplo abaixo, todos os binários de aplicativos são pré-criados para se concentrar em aspectos de geração de manifesto. Este exemplo produz uma implantação do ClickOnce totalmente funcional.
Note
Para obter mais informações sobre a Thumbprint propriedade usada na SignFile tarefa neste exemplo, consulte a tarefa SignFile.
<Project DefaultTargets="Build">
<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>
Exemplo 3
Este exemplo usa as tarefas e GenerateDeploymentManifest as GenerateApplicationManifest tarefas para gerar manifestos de implantação e aplicativo ClickOnce para um aplicativo com vários arquivos e assemblies.
Note
No exemplo abaixo, todos os binários de aplicativos são pré-criados para se concentrar em aspectos de geração de manifesto. Este exemplo produz uma implantação do ClickOnce totalmente funcional.
Note
Para obter mais informações sobre a Thumbprint propriedade usada na SignFile tarefa neste exemplo, consulte a tarefa SignFile.
<Project DefaultTargets="Build">
<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>
Exemplo 4
Este exemplo usa a GenerateApplicationManifest tarefa para gerar um manifesto nativo para Test.exede aplicativo, referenciando Alpha.dll de componente nativo e um componente COM isolado Bravo.dll.
Este exemplo produz o Test.exe.manifest, tornando o aplicativo XCOPY implantável e aproveitando o REGISTRO GRATUITO COM.
Note
No exemplo abaixo, todos os binários de aplicativos são pré-criados para se concentrar em aspectos de geração de manifesto. Este exemplo produz uma implantação do ClickOnce totalmente funcional.
<Project DefaultTargets="Build">
<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>