Idioma
Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Gera um manifesto de aplicação ClickOnce ou um manifesto nativo. Um manifesto nativo descreve um componente definindo uma identidade única para o componente e identificando todos os assemblies e ficheiros que compõem o componente. Um manifesto de aplicação ClickOnce estende um manifesto nativo indicando o ponto de entrada da aplicação e especificando o nível de segurança da aplicação.
Parameters
A tabela seguinte descreve os parâmetros para a GenerateApplicationManifest tarefa.
| Parâmetro | Description |
|---|---|
AssemblyName |
Parâmetro opcional String .Especifica o Name campo da identidade de assembly para o manifesto gerado. Se este parâmetro não for especificado, o nome é inferido a partir dos EntryPoint parâmetros ou InputManifest . Se não for possível criar um nome, a tarefa gera um erro. |
AssemblyVersion |
Parâmetro opcional String .Especifica o Version campo da identidade de assembly para o manifesto gerado. Se este parâmetro não for especificado, é usado um valor padrão de "1.0.0.0". |
ClrVersion |
Parâmetro opcional String .Especifica a versão mínima do Common Language Runtime (CLR) exigida pela aplicação. O valor padrão é a versão CLR utilizada pelo sistema de compilação. Se a tarefa estiver a gerar um manifesto nativo, este parâmetro é ignorado. |
ConfigFile |
Parâmetro opcional ITaskItem[] .Especifica qual item contém o ficheiro de configuração da aplicação. Se a tarefa estiver a gerar um manifesto nativo, este parâmetro é 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 adicionalmente por metadados do item para indicar o estado adicional de implementação e o tipo de dependência. Para mais informações, consulte Metadados do Item. |
Description |
Parâmetro opcional String .Especifica a descrição da aplicação ou componente. |
EntryPoint |
Parâmetro opcional ITaskItem[] .Especifica um único item que indica o ponto de entrada para a assembleia do manifesto gerada. Para um manifesto de aplicação ClickOnce, este parâmetro especifica o assembly que começa quando a aplicação é executada. |
ErrorReportUrl |
Parâmetro opcional System.String . Especifica a URL da página web que é exibida nas caixas de diálogo durante os relatórios de erro nas instalações do ClickOnce. |
FileAssociations |
Parâmetro opcional ITaskItem[] .Especifica uma lista de um ou mais tipos de ficheiros associados ao manifesto de implementação do ClickOnce. As associações de ficheiros só são válidas apenas quando o .NET Framework 3.5 ou posterior é o alvo. |
Files |
Parâmetro opcional ITaskItem[] .Os ficheiros a incluir no manifesto. Especifique o caminho completo para cada ficheiro. |
HostInBrowser |
Parâmetro opcional Boolean . Se true, a aplicação está alojada num navegador (tal como as Aplicações de Navegador Web WPF). |
IconFile |
Parâmetro opcional ITaskItem[] .Indica o ficheiro de ícones da aplicação. O ícone da aplicação é expresso no manifesto gerado da aplicação e é usado para o Menu Iniciar e o diálogo Adicionar/Remover Programas . Se esta entrada não for especificada, é usado um ícone por defeito. Se a tarefa estiver a gerar um manifesto nativo, este parâmetro é ignorado. |
InputManifest |
Parâmetro opcional ITaskItem . Indica um documento XML de entrada para servir de base para o gerador de manifestos. Isto permite que dados estruturados, como segurança de aplicações ou definições personalizadas de manifestos, sejam refletidos no manifesto de saída. O elemento raiz no documento XML deve ser um nó assembly no namespace asmv1. |
IsolatedComReferences |
Parâmetro opcional ITaskItem[] .Especifica componentes COM a isolar no manifesto gerado. Este parâmetro suporta a capacidade de isolar componentes COM para a implementação "Registo Livre de COM". Funciona gerando automaticamente um manifesto com definições padrão de registo COM. No entanto, os componentes COM devem ser registados na máquina de compilação para que isto funcione corretamente. |
LauncherBasedDeployment |
Parâmetro booleano opcional. Defina isto para True, ao compilar para .NET versões Core 3.1, .NET 5 e posteriores, para garantir que o executável da aplicação é renomeado para o nome esperado após construir o executável anfitrião da aplicaçãoapphost.exe. |
ManifestType |
Parâmetro opcional String .Especifica que tipo de manifesto gerar. Este parâmetro pode ter os seguintes valores: - Native- ClickOnceSe este parâmetro não for especificado, a tarefa passa por defeito a ClickOnce. |
MaxTargetPath |
Parâmetro opcional String .Especifica o comprimento máximo permitido de um caminho de ficheiro numa implementação de aplicação ClickOnce. Se este valor for especificado, o comprimento de cada caminho de ficheiro na aplicação é verificado em relação a este limite. Qualquer item que ultrapasse o limite aparece num aviso de build. Se esta entrada não for especificada ou for zero, então não é realizada verificação. Se a tarefa estiver a gerar um manifesto nativo, este parâmetro é ignorado. |
OSVersion |
Parâmetro opcional String .Especifica a versão mínima exigida do sistema operativo (SO) exigida pela aplicação. Se este parâmetro não for especificado, é usado o valor "4.10.0.0", o sistema operativo mínimo suportado pelo .NET Framework. Se a tarefa estiver a gerar um manifesto nativo, essa entrada é ignorada. |
OutputManifest |
Parâmetro de saída opcional ITaskItem . Especifica o nome do ficheiro de manifesto de saída gerado. Se este parâmetro não for especificado, o nome do ficheiro de saída é inferido a partir da identidade do manifesto gerado. |
Platform |
Parâmetro opcional String .Especifica a plataforma alvo da aplicação. Este parâmetro pode ter os seguintes valores: - AnyCPU- x86- x64- ItaniumSe este parâmetro não for especificado, a tarefa passa por defeito a AnyCPU. |
Product |
Parâmetro opcional String .Especifica o nome do aplicativo. Se este parâmetro não for especificado, o nome é inferido a partir da identidade do manifesto gerado. Este nome é usado para o 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 da aplicação. Se este parâmetro não for especificado, o nome é inferido do utilizador registado ou da identidade do manifesto gerado. Este 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 verdade, a aplicação requer o .NET Framework 3.5 SP1 ou uma versão mais recente. |
TargetCulture |
Parâmetro opcional String .Identifica a cultura da aplicação e especifica o Language campo da identidade assembly para o manifesto gerado. Se este parâmetro não for especificado, assume-se que a aplicação é invariante à cultura. |
TargetFrameworkMoniker |
Parâmetro opcional String .Especifica o nome de framework alvo. |
TargetFrameworkProfile |
Parâmetro opcional String .Especifica o perfil do framework alvo. |
TargetFrameworkSubset |
Parâmetro opcional String .Especifica o nome do subconjunto do .NET Framework a ser alvo. |
TargetFrameworkVersion |
Parâmetro opcional String .Especifica o framework .NET alvo do projeto. |
TrustInfoFile |
Parâmetro opcional ITaskItem . Indica um documento XML que especifica a segurança da aplicação. O elemento raiz no documento XML deve ser um nó trustInfo no namespace asmv2. Se a tarefa estiver a gerar um manifesto nativo, este parâmetro é ignorado. |
UseApplicationTrust |
Parâmetro opcional Boolean .Se for verdadeiro, as Productpropriedades , Publisher, e SupportUrl são escritas no manifesto da aplicação. |
Remarks
Além dos parâmetros listados acima, essa tarefa herda parâmetros da GenerateManifestBase classe, que herda da Task classe. Para uma lista dos parâmetros da classe Task, veja Task base class.
Para informações sobre como utilizar a GenerateDeploymentManifest tarefa, consulte a tarefa GenerateApplicationManifest.
As entradas para dependências e ficheiros podem ser ainda decoradas com metadados do item para especificar o estado adicional de implementação para cada item.
Metadados do item
| Nome dos metadados | Description |
|---|---|
DependencyType |
Indica se a dependência é publicada e instalada com a aplicação ou um pré-requisito. Estes metadados são válidos para todas as dependências, mas não são usados para ficheiros. Os valores disponíveis para estes metadados são: - Install- PrerequisiteInstalar é o valor padrão. |
AssemblyType |
Indica se a dependência é uma assembly gerida ou nativa. Estes metadados são válidos para todas as dependências, mas não são usados para ficheiros. Os valores disponíveis para estes metadados são: - Managed- Native- UnspecifiedUnspecified é o valor padrão, que indica que o gerador de manifestos irá determinar automaticamente o tipo de assembleia. |
Group |
Indica o grupo para descarregar ficheiros adicionais a pedido. O nome do grupo é definido pela aplicação e pode ser qualquer cadeia. Uma cadeia vazia indica que o ficheiro não faz parte de um grupo de download, que é o padrão. Ficheiros que não estão num grupo fazem parte do download inicial da aplicação. Os ficheiros num grupo só são descarregados quando solicitados explicitamente pela aplicação que utiliza System.Deployment.Application. Estes metadados são válidos para todos os ficheiros onde IsDataFile é false e todas as dependências onde DependencyType é Install. |
TargetPath |
Especifica como o caminho deve ser definido no manifesto gerado. Este atributo é válido para todos os ficheiros. Se este atributo não for especificado, utiliza-se a especificação do item. Este atributo é válido para todos os ficheiros e dependências com DependencyType valor de Install. |
IsDataFile |
Um Boolean valor de metadados que indica se o ficheiro é ou não um ficheiro de dados. Um ficheiro de dados é especial porque é migrado entre atualizações de aplicação. Estes metadados só são válidos para ficheiros.
False é o valor padrão. |
Exemplo 1
Este exemplo utiliza a GenerateApplicationManifest tarefa para gerar um manifesto de aplicação ClickOnce e a GenerateDeploymentManifest tarefa para gerar um manifesto de implementação para uma aplicação com um único assembly. Depois, utiliza a SignFile tarefa para assinar os manifestos.
Isto ilustra o cenário mais simples possível de geração de manifestos, onde manifestos ClickOnce são gerados para um único programa. Um nome e identidade por defeito são inferidos a partir da montagem do manifesto.
Note
No exemplo abaixo, todos os binários de aplicação são pré-construídos para se focarem nos aspetos de geração de manifestos. Este exemplo produz uma implementação ClickOnce totalmente funcional.
Note
Para mais informações sobre a Thumbprint propriedade usada na SignFile tarefa neste exemplo, veja 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 utiliza as GenerateApplicationManifest tarefas e GenerateDeploymentManifest para gerar manifestos de aplicação e implementação ClickOnce para uma aplicação com um único assembly, especificando o nome e a identidade dos manifestos.
Este exemplo é semelhante ao anterior, exceto que o nome e a identidade dos manifestos estão explicitamente especificados. Além disso, este exemplo está configurado como uma aplicação online em vez de uma aplicação instalada.
Note
No exemplo abaixo, todos os binários de aplicação são pré-construídos para se focarem nos aspetos de geração de manifestos. Este exemplo produz uma implementação ClickOnce totalmente funcional.
Note
Para mais informações sobre a Thumbprint propriedade usada na SignFile tarefa neste exemplo, veja 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 utiliza as GenerateApplicationManifest tarefas e GenerateDeploymentManifest para gerar manifestos de aplicação e implementação ClickOnce para uma aplicação com múltiplos ficheiros e assemblies.
Note
No exemplo abaixo, todos os binários de aplicação são pré-construídos para se focarem nos aspetos de geração de manifestos. Este exemplo produz uma implementação ClickOnce totalmente funcional.
Note
Para mais informações sobre a Thumbprint propriedade usada na SignFile tarefa neste exemplo, veja 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 utiliza a GenerateApplicationManifest tarefa para gerar um manifesto nativo para aplicação Test.exe, referenciando componentes nativosAlpha.dll e um componente COM isoladoBravo.dll.
Este exemplo produz o Test.exe.manifest, tornando a aplicação XCOPY implementável e tirando partido do Registration Free COM.
Note
No exemplo abaixo, todos os binários de aplicação são pré-construídos para se focarem nos aspetos de geração de manifestos. Este exemplo produz uma implementação 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>
Ver também
- Tarefas
- da tarefa GenerateDeploymentManifest
- tarefa SignFile
- Referência da tarefa