GenerateApplicationManifest – úloha
Generuje manifest aplikace ClickOnce nebo nativní manifest. Nativní manifest popisuje komponentu definováním jedinečné identity pro komponentu a identifikací všech sestavení a souborů, které tvoří komponentu. Manifest aplikace ClickOnce rozšiřuje nativní manifest tím, že označuje vstupní bod aplikace a určuje úroveň zabezpečení aplikace.
Parametry
Následující tabulka popisuje parametry úlohy GenerateApplicationManifest
.
Parametr | Popis |
---|---|
AssemblyName |
Volitelný String parametr.Určuje Name pole identity sestavení pro vygenerovaný manifest. Pokud tento parametr není zadaný, název se odvodí z EntryPoint parametrů nebo InputManifest parametrů. Pokud nelze vytvořit žádný název, úloha vyvolá chybu. |
AssemblyVersion |
Volitelný String parametr.Určuje Version pole identity sestavení pro vygenerovaný manifest. Pokud tento parametr není zadaný, použije se výchozí hodnota 1.0.0.0. |
ClrVersion |
Volitelný String parametr.Určuje minimální verzi modulu CLR (Common Language Runtime), kterou aplikace vyžaduje. Výchozí hodnota je verze CLR, kterou používá systém sestavení. Pokud úloha generuje nativní manifest, bude tento parametr ignorován. |
ConfigFile |
Volitelný ITaskItem[] parametr.Určuje, která položka obsahuje konfigurační soubor aplikace. Pokud úloha generuje nativní manifest, bude tento parametr ignorován. |
Dependencies |
Volitelný ITaskItem[] parametr.Určuje seznam položek, který definuje sadu závislých sestavení pro vygenerovaný manifest. Jednotlivé položky mohou být dále popsány metadaty položek, které označují další stav nasazení a typ závislosti. Další informace najdete v tématu Metadata položky. |
Description |
Volitelný String parametr.Určuje popis aplikace nebo komponenty. |
EntryPoint |
Volitelný ITaskItem[] parametr.Určuje jednu položku, která označuje vstupní bod pro vygenerované sestavení manifestu. Pro manifest aplikace ClickOnce určuje tento parametr sestavení, které se spustí při spuštění aplikace. |
ErrorReportUrl |
Volitelný System.String parametr. Určuje adresu URL webové stránky, která se zobrazí v dialogových oknech během hlášení chyb v instalacích ClickOnce. |
FileAssociations |
Volitelný ITaskItem[] parametr.Určuje seznam jednoho nebo více typů souborů přidružených k manifestu nasazení ClickOnce. Přidružení souborů platí pouze v případech, kdy je cílem rozhraní .NET Framework 3.5 nebo novější. |
Files |
Volitelný ITaskItem[] parametr.Soubory, které se mají zahrnout do manifestu. Zadejte úplnou cestu pro každý soubor. |
HostInBrowser |
Volitelný Boolean parametr. Pokud true je aplikace hostovaná v prohlížeči (stejně jako aplikace webového prohlížeče WPF). |
IconFile |
Volitelný ITaskItem[] parametr.Označuje soubor ikony aplikace. Ikona aplikace se vyjadřuje v manifestu vygenerované aplikace a používá se pro nabídku Start a dialogové okno Přidat nebo odebrat programy . Pokud tento vstup není zadaný, použije se výchozí ikona. Pokud úloha generuje nativní manifest, bude tento parametr ignorován. |
InputManifest |
Volitelný ITaskItem parametr. Označuje vstupní dokument XML, který bude sloužit jako základ pro generátor manifestu. To umožňuje, aby se strukturovaná data, jako je zabezpečení aplikace nebo vlastní definice manifestu, projevily ve výstupním manifestu. Kořenový prvek v dokumentu XML musí být uzel sestavení v oboru názvů asmv1. |
IsolatedComReferences |
Volitelný ITaskItem[] parametr.Určuje komponenty modelu COM, které se mají izolovat v generovaném manifestu. Tento parametr podporuje možnost izolovat komponenty modelu COM pro nasazení modelu COM bez registrace. Funguje tak, že automaticky vygeneruje manifest se standardními definicemi registrace modelu COM. Aby to však fungovalo správně, musí být komponenty modelu COM zaregistrované na počítači sestavení. |
LauncherBasedDeployment |
Volitelný logický parametr. Nastavte tuto možnost na True při sestavování pro .NET Core 3.1, .NET 5 a novější verze, aby se zajistilo, že spustitelný soubor aplikace bude přejmenován na očekávaný název spustitelného souboru po sestavení spustitelného souboru apphost.exe hostitele aplikace. |
ManifestType |
Volitelný String parametr.Určuje, jaký typ manifestu se má vygenerovat. Tento parametr může mít následující hodnoty: - Native - ClickOnce Pokud tento parametr není zadán, je výchozí hodnota ClickOnce úkolu . |
MaxTargetPath |
Volitelný String parametr.Určuje maximální povolenou délku cesty k souboru v nasazení aplikace ClickOnce. Pokud je tato hodnota zadaná, délka každé cesty k souboru v aplikaci se kontroluje proti tomuto limitu. Všechny položky, které překročí limit, se zobrazí v upozornění sestavení. Pokud tento vstup není zadán nebo je nulový, neprovádí se žádná kontrola. Pokud úloha generuje nativní manifest, bude tento parametr ignorován. |
OSVersion |
Volitelný String parametr.Určuje minimální požadovanou verzi operačního systému (OS), kterou aplikace vyžaduje. Pokud tento parametr není zadaný, použije se hodnota 4.10.0.0, minimální podporovaný operační systém rozhraní .NET Framework. Pokud úloha generuje nativní manifest, tento vstup se ignoruje. |
OutputManifest |
Volitelný ITaskItem výstupní parametr. Určuje název vygenerovaného výstupního souboru manifestu. Pokud tento parametr není zadaný, název výstupního souboru se odvodí z identity vygenerovaného manifestu. |
Platform |
Volitelný String parametr.Určuje cílovou platformu aplikace. Tento parametr může mít následující hodnoty: - AnyCPU - x86 - x64 - Itanium Pokud tento parametr není zadán, je výchozí hodnota AnyCPU úkolu . |
Product |
Volitelný String parametr.Určuje název aplikace. Pokud tento parametr není zadaný, název se odvodí z identity vygenerovaného manifestu. Tento název se používá pro název zástupce v nabídce Start a je součástí názvu, který se zobrazí v dialogovém okně Přidat nebo odebrat programy . |
Publisher |
Volitelný String parametr.Určuje vydavatele aplikace. Pokud tento parametr není zadaný, název se odvodí od registrovaného uživatele nebo identity vygenerovaného manifestu. Tento název se používá pro název složky v nabídce Start a je součástí názvu, který se zobrazí v dialogovém okně Přidat nebo odebrat programy . |
RequiresMinimumFramework35SP1 |
Volitelný Boolean parametr.Pokud ano, aplikace vyžaduje rozhraní .NET Framework 3.5 SP1 nebo novější verzi. |
TargetCulture |
Volitelný String parametr.Identifikuje jazykovou verzi aplikace a určuje Language pole identity sestavení pro vygenerovaný manifest. Pokud tento parametr není zadaný, předpokládá se, že aplikace je invariantní. |
TargetFrameworkMoniker |
Volitelný String parametr.Určuje moniker cílové architektury. |
TargetFrameworkProfile |
Volitelný String parametr.Určuje profil cílové architektury. |
TargetFrameworkSubset |
Volitelný String parametr.Určuje název podmnožině rozhraní .NET Framework, která se má cílit. |
TargetFrameworkVersion |
Volitelný String parametr.Určuje cílovou rozhraní .NET Framework projektu. |
TrustInfoFile |
Volitelný ITaskItem parametr. Označuje dokument XML, který určuje zabezpečení aplikace. Kořenový element v dokumentu XML musí být uzel trustInfo v oboru názvů asmv2. Pokud úloha generuje nativní manifest, bude tento parametr ignorován. |
UseApplicationTrust |
Volitelný Boolean parametr.Pokud je true , Product Publisher a SupportUrl vlastnosti jsou zapsány do manifestu aplikace. |
Poznámky
Kromě výše uvedených parametrů tato úloha dědí parametry z GenerateManifestBase třídy, která sama dědí z Task třídy. Seznamparametrůch
Informace o použití GenerateDeploymentManifest
úlohy naleznete v tématu GenerateApplicationManifest task.
Vstupy pro závislosti a soubory mohou být dále zdobeny metadaty položek, aby bylo možné určit další stav nasazení pro každou položku.
Metadata položek
Název metadat | Popis |
---|---|
DependencyType |
Určuje, jestli je závislost publikovaná a nainstalovaná s aplikací nebo požadovaným předpokladem. Tato metadata jsou platná pro všechny závislosti, ale nepoužívá se pro soubory. Dostupné hodnoty pro tato metadata jsou: - Install - Prerequisite Instalace je výchozí hodnota. |
AssemblyType |
Určuje, zda je závislost spravovaná nebo nativní sestavení. Tato metadata jsou platná pro všechny závislosti, ale nepoužívá se pro soubory. Dostupné hodnoty pro tato metadata jsou: - Managed - Native - Unspecified Unspecified je výchozí hodnota, která indikuje, že generátor manifestu určí typ sestavení automaticky. |
Group |
Označuje skupinu pro stahování dalších souborů na vyžádání. Název skupiny je definován aplikací a může to být libovolný řetězec. Prázdný řetězec označuje, že soubor není součástí skupiny stahování, což je výchozí hodnota. Soubory, které nejsou ve skupině, jsou součástí počátečního stažení aplikace. Soubory ve skupině se stáhnou pouze v případech, kdy aplikace explicitně požaduje .System.Deployment.Application Tato metadata jsou platná pro všechny soubory, kde IsDataFile jsou false a všechny závislosti, kde DependencyType je Install . |
TargetPath |
Určuje, jak má být cesta definována v vygenerovaném manifestu. Tento atribut je platný pro všechny soubory. Pokud tento atribut není zadán, použije se specifikace položky. Tento atribut je platný pro všechny soubory a závislosti s DependencyType hodnotou Install . |
IsDataFile |
Boolean Hodnota metadat, která označuje, jestli je soubor datovým souborem nebo ne. Datový soubor je speciální v tom, že se migruje mezi aktualizacemi aplikací. Tato metadata jsou platná pouze pro soubory. False je výchozí hodnota. |
Příklad 1
Tento příklad používá GenerateApplicationManifest
úlohu k vygenerování manifestu aplikace ClickOnce a GenerateDeploymentManifest
úlohy k vygenerování manifestu nasazení pro aplikaci s jedním sestavením. Pak pomocí SignFile
úlohy podepíše manifesty.
To ilustruje nejjednodušší možný scénář generování manifestu, ve kterém jsou manifesty ClickOnce generovány pro jeden program. Výchozí název a identita se odvozují ze sestavení manifestu.
Poznámka:
V následujícím příkladu jsou všechny binární soubory aplikací předem připravené, aby se mohly zaměřit na aspekty generování manifestu. Tento příklad vytvoří plně funkční nasazení ClickOnce.
Poznámka:
Další informace o Thumbprint
vlastnosti použité v SignFile
úloze v tomto příkladu naleznete v tématu SignFile úloha.
<Project DefaultTargets="Build"
xmlns="http://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>
Příklad 2
Tento příklad používá úlohy GenerateApplicationManifest
k GenerateDeploymentManifest
vygenerování manifestů aplikace a nasazení ClickOnce pro aplikaci s jedním sestavením a zadáním názvu a identity manifestů.
Tento příklad je podobný předchozímu příkladu s výjimkou názvu a identity manifestů, které jsou explicitně zadány. Tento příklad je také nakonfigurovaný jako online aplikace místo nainstalované aplikace.
Poznámka:
V následujícím příkladu jsou všechny binární soubory aplikací předem připravené, aby se mohly zaměřit na aspekty generování manifestu. Tento příklad vytvoří plně funkční nasazení ClickOnce.
Poznámka:
Další informace o Thumbprint
vlastnosti použité v SignFile
úloze v tomto příkladu naleznete v tématu SignFile úloha.
<Project DefaultTargets="Build"
xmlns="http://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>
Příklad 3
V tomto příkladu se používají úlohy GenerateApplicationManifest
a GenerateDeploymentManifest
aplikace ClickOnce k vygenerování manifestů nasazení pro aplikaci s více soubory a sestaveními.
Poznámka:
V následujícím příkladu jsou všechny binární soubory aplikací předem připravené, aby se mohly zaměřit na aspekty generování manifestu. Tento příklad vytvoří plně funkční nasazení ClickOnce.
Poznámka:
Další informace o Thumbprint
vlastnosti použité v SignFile
úloze v tomto příkladu naleznete v tématu SignFile úloha.
<Project DefaultTargets="Build"
xmlns="http://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>
Příklad 4
Tento příklad používá GenerateApplicationManifest
úlohu k vygenerování nativní manifest pro aplikaci Test.exe odkazující na nativní komponentu Alpha.dll a izolovanou komponentu COM Bravo.dll.
Tento příklad vytvoří Test.exe.manifest, aby aplikace XCOPY nasaditelná a využila výhod Modelu COM pro registraci zdarma.
Poznámka:
V následujícím příkladu jsou všechny binární soubory aplikací předem připravené, aby se mohly zaměřit na aspekty generování manifestu. Tento příklad vytvoří plně funkční nasazení ClickOnce.
<Project DefaultTargets="Build" xmlns="http://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>