GenerateApplicationManifest — Zadanie
Generuje manifest aplikacji ClickOnce lub manifest macierzysty.Manifest natywny zawiera opis składnika poprzez określenie unikatowej tożsamości składnika i identyfikację wszystkich zestawów i plików, które tworzą składnik.Manifest aplikacji ClickOnce rozszerza manifest natywny przez wskazanie punktu wejścia aplikacji i określenie poziomu zabezpieczeń aplikacji.
Parametry
W poniższej tabeli przedstawiono parametry dla zadania GenerateApplicationManifest.
Parametr |
Opis |
---|---|
AssemblyName |
Parametr opcjonalny String. Określa pole tożsamości zestawu Name wygenerowanego manifestu.Jeśli ten parametr nie jest określony, nazwa wynika z parametru EntryPoint lub InputManifest.Jeśli nie można utworzyć żadnej nazwy, zadanie wyrzuca błąd. |
AssemblyVersion |
Parametr opcjonalny String. Określa pole tożsamości zestawu Version wygenerowanego manifestu.Jeśli ten parametr nie jest określony, zostanie użyta wartość domyślna „1.0.0.0”. |
ClrVersion |
Parametr opcjonalny String. Określa minimalną wersję Środowiska uruchomieniowego języka wspólnego (CLR) wymaganą przez tę aplikację.Wartością domyślną jest wersja środowiska CLR używana przez system kompilacji.Jeśli zadanie generuje natywny manifest, ten parametr jest ignorowany. |
ConfigFile |
Parametr opcjonalny ITaskItem[]. Określa, który element zawiera plik konfiguracji aplikacji.Jeśli zadanie generuje natywny manifest, ten parametr jest ignorowany. |
Dependencies |
Parametr opcjonalny ITaskItem[]. Określa elementu listy, który definiuje zestaw zestawów zależnych dla wygenerowanego manifestu.Każdy element może być dalej opisany przez metadane elementu, aby wskazać dodatkowy stan wdrożenia i typ zależności.Aby uzyskać więcej informacji, zobacz sekcję poniżej „Element metadnych”. |
Description |
Parametr opcjonalny String. Określa opis dla aplikacji lub komponentu. |
EntryPoint |
Parametr opcjonalny ITaskItem[]. Określa pojedynczy element, który wskazuje punkt wejścia dla wygenerowanego zestawu manifestu. W przypadku manifestu aplikacji ClickOnce, ten parametr określa zestaw, który rozpoczyna się, gdy aplikacja jest uruchomiona. |
ErrorReportUrl |
Parametr opcjonalny [String]. Określa adres URL strony sieci Web, która jest wyświetlana w oknach dialogowych podczas raportów błędu instalacji ClickOnce. |
FileAssociations |
Parametr opcjonalny ITaskItem[]. Określa listę typu pliku, który jest skojarzony z manifestem wdrażania ClickOnce. Skojarzenia plików poprawne tylko wtedy, gdy platforma .NET Framework 3.5 lub nowsza jest celem. |
Files |
Parametr opcjonalny ITaskItem[]. Pliki do dołączenia w manifeście.Określ pełną ścieżkę każdego pliku. |
HostInBrowser |
Parametr opcjonalny [Boolean]. Jeśli true, aplikacja jest obsługiwana w przeglądarce (jak aplikacje przeglądarki WPF sieci Web). |
IconFile |
Parametr opcjonalny ITaskItem[]. Wskazuje plik ikony aplikacji.Ikona aplikacji jest wyrażona w manifeście aplikacji wygenerowanym i jest używanym dla okna dialogowego Menu Start i Dodaj/Usuń programy.Jeśli nie określono tych danych wejściowych, ikona domyślna jest używana.Jeśli zadanie generuje natywny manifest, ten parametr jest ignorowany. |
InputManifest |
Parametr opcjonalny ITaskItem. Wskazuje dokument danych wejściowych XML, aby służyć jako podstawa do generatora manifestu.Dzięki temu dane strukturalnych, takie jak zabezpieczenia aplikacji lub niestandardowe definicje manifestu są odzwierciedlane w manifeście danych wyjściowych.Element główny dokumentu XML musi być zbiorem węzła trustInfo w obszarze nazw asmv1. |
IsolatedComReferences |
Parametr opcjonalny ITaskItem[]. Określa składniki COM do izolowania w manifeście.Ten parametr obsługuje możliwość izolowania składników COM wdrażania "Wolna rejestracja COM".Jego działanie polega na automatycznym generowaniu manifestu ze standardowymi definicjami rejestracji COM.Jednakże składniki COM muszą być zarejestrowane na komputerze kompilacji, aby funkcjonowało poprawnie. |
ManifestType |
Parametr opcjonalny String. Określa, jakiego typu manifest wygenerować.Ten parametr może mieć następujące wartości:
Jeśli ten parametr nie jest określony, domyślnym zadaniem jest ClickOnce. |
MaxTargetPath |
Parametr opcjonalny String. Określa maksymalną długość ścieżki pliku w ClickOnce wdrażaniu aplikacji.Jeśli ta wartość jest określona, długość każdej ścieżki pliku w aplikacji jest sprawdzana względem tego limitu.Wszystkie elementy, które przekraczają limit wywołają ostrzeżenia kompilacji.Jeśli wejście to nie zostało określone lub jest równe zeru, wówczas żadne sprawdzanie nie jest przeprowadzane.Jeśli zadanie generuje natywny manifest, ten parametr jest ignorowany. |
OSVersion |
Parametr opcjonalny String. Określa wersję minimalną wymaganego systemu operacyjnego (OS) wymaganego przez tę aplikację.Na przykład wartość „5.1.2600.0” wskazuje, że system operacyjny to Windows XP.Jeśli ten parametr nie jest określony, zostanie użyta wartość „4.10.0.0”, która wskazuje Windows 98 Wydanie drugie, minimum jeżeli chodzi o obsługiwane systemy operacyjne platformy .NET Framework.Jeśli zadanie generuje natywny manifest, ta wartość wejściowa jest ignorowana. |
OutputManifest |
Parametr opcjonalny ITaskItem wyjściowy. Określa nazwę utworzonego wyjściowego pliku manifestu.Jeśli ten parametr nie jest określony, nazwa pliku danych zewnętrznych wynika z tożsamości wygenerowanego manifestu. |
Platform |
Parametr opcjonalny String. Określa platformę docelową aplikacji.Ten parametr może mieć następujące wartości:
Jeśli ten parametr nie jest określony, domyślnym zadaniem jest AnyCPU. |
Product |
Parametr opcjonalny String. Określa nazwę aplikacji.Jeśli ten parametr nie jest określony, nazwa wynika z tożsamości wygenerowanego manifestu.Nazwa ta jest używaną nazwą skrótu w menu Start i jest częścią nazwy, która pojawia się w oknie dialogowym Dodaj lub Usuń programy. |
Publisher |
Parametr opcjonalny String. Określa wydawcę aplikacji.Jeśli ten parametr nie jest określony, nazwa wynika z zarejestrowanego użytkownika lub tożsamości wygenerowanego manifestu.Nazwa ta jest używaną nazwą folderu w menu start i jest częścią nazwy, która pojawia się w oknie dialogowym Dodaj lub Usuń programy. |
RequiresMinimumFramework35SP1 |
Parametr opcjonalny Boolean. Jeśli ma wartość true, to aplikacja wymaga .NET Framework 3.5 z dodatkiem SP1 lub nowszej wersji. |
TargetCulture |
Parametr opcjonalny String. Identyfikuje kulturę aplikacji i określa pole Language tożsamości zestawu wygenerowanego manifestu.Jeśli ten parametr nie jest określony, zakłada się, że aplikacja jest kulturowo niezmienna. |
TargetFrameworkMoniker |
Parametr opcjonalny [String]. Określa Krótką nazwę platformy docelowej. |
TargetFrameworkProfile |
Parametr opcjonalny [String]. Określa profil platformy docelowej. |
TargetFrameworkSubset |
Parametr opcjonalny [String]. Określa nazwę podzbioru .NET Framework do obiektu docelowego. |
TargetFrameworkVersion |
Parametr opcjonalny [String]. Określa docelową aplikację .NET Framework dla tego projektu. |
TrustInfoFile |
Parametr opcjonalny ITaskItem. Wskazuje dokument XML, który określa zabezpieczenia aplikacji.Element główny dokumentu XML musi być węzłem trustInfo w obszarze nazw asmv2.Jeśli zadanie generuje natywny manifest, ten parametr jest ignorowany. |
UseApplicationTrust |
Parametr opcjonalny [Boolean]. Jeśli ma wartość true, właściwości Product, Publisher i SupportUrl są zapisywane w manifeście aplikacji. |
Uwagi
Oprócz parametrów wymienionych powyżej, to zadanie dziedziczy parametry z klasy GenerateManifestBase, która sama dziedziczy z klasy Task.Aby uzyskać listę parametrów klasy Zadanie, zobacz Klasa podstawowa zadania.
Aby uzyskać informacje na temat sposobu wykorzystania zadania GenerateDeploymentManifest, zobacz GenerateApplicationManifest — Zadanie.
Dane wejściowe dla zależności i pliki mogą być dalej ozdobione metadanymi elementu, aby określić dodatkowy stan wdrażania dla każdego elementu.
Element metadanych
Nazwa metadanych |
Opis |
---|---|
DependencyType |
Wskazuje, czy zależność jest opublikowana i zainstalowana z aplikacją lub warunkiem wstępnym.Te metadane obowiązuje w przypadku wszystkich zależności, ale nie są używane do plików.Dostępne wartości dla tych metadanych są następujące:
Zainstaluj jest wartością domyślną. |
AssemblyType |
Wskazuje, czy zależność jest zestawem zarządzanym, czy macierzystym.Te metadane obowiązuje w przypadku wszystkich zależności, ale nie są używane do plików.Dostępne wartości dla tych metadanych są następujące:
Unspecified jest wartością domyślną, która wskazuje, że generator manifestu automatycznie określi typ zespołu. |
Group |
Wskazuje grupę do pobierania dodatkowych plików na żądanie.Nazwa grupy jest zdefiniowany przez aplikację i może być dowolnym ciągiem.Pusty ciąg wskazuje, że plik nie jest częścią grupy pobrania, co jest ustawieniem domyślnym.Pliki nie wchodzące w skład grupy są częścią pierwszego pobrania aplikacji.Pliki w grupie są pobierane tylko wtedy, gdy wyraźnie żąda tego aplikacja za pomocą System.Deployment.Application. Te metadane obowiązuje w przypadku wszystkich plików gdzie IsDataFile jest false i wszystkie zależności gdzie DependencyType jest Install. |
TargetPath |
Określa, jak ścieżka powinna być zdefiniowane w wygenerowanym manifeście.Ten atrybut jest ważny dla wszystkich plików.Jeśli ten atrybut nie jest określony, specyfikacja elementu jest używana.Ten atrybut jest ważny dla wszystkich plików i współzależności z DependencyType wartością Install. |
IsDataFile |
Wartość metadanych Boolean, która wskazuje, czy plik jest plikiem danych, czy nie.Plik danych jest wyjątkowy, ponieważ jest przenoszony między aktualizacjami aplikacji.Te metadane są prawidłowe tylko dla plików.Wartość domyślna to False |
Przykład
W poniższym przykładzie użyto GenerateApplicationManifest zadania do wygenerowania ClickOnce manifestu aplikacji i GenerateDeploymentManifest zadania do wygenerowania wdrażania manifestu dla aplikacji z pojedynczym zestawem.Następnie używa zadania SignFile do podpisania manifestów.
Obrazuje to najprostszy scenariusz możliwego manifestu scenariusza generowania gdzie ClickOnce w jednym programie są generowane manifesty.Domyślna nazwa i tożsamość są dedukowane z zestawu dla manifestu.
[!UWAGA]
W poniższym przykładzie wszystkie pliki binarne aplikacji są wstępnie zbudowaną w celu skupiania się na aspektach generacji manifestu.Ten przykład generuje w pełni pracujące ClickOnce wdrażania.
[!UWAGA]
Aby uzyskać więcej informacji na temat właściwości Thumbprint używanej w zadaniu SignFile w tym przykładzie, zobacz SignFile — Zadanie.
<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>
W poniższym przykładzie użyto GenerateApplicationManifest i GenerateDeploymentManifest do wygenerowania ClickOnce stosowania i wdrażania manifestów aplikacji z jednego zestawu, określając nazwę tożsamości manifestów.
W tym przykładzie jest podobny do poprzedniego przykładu, z wyjątkiem jawnie określonej nazwy i tożsamości manifestów.Ponadto, ten przykład jest konfigurowany jako aplikacja online zamiast zainstalowanej aplikacji.
[!UWAGA]
W poniższym przykładzie wszystkie pliki binarne aplikacji są wstępnie zbudowaną w celu skupiania się na aspektach generacji manifestu.Ten przykład generuje w pełni pracujące ClickOnce wdrażania.
[!UWAGA]
Aby uzyskać więcej informacji na temat właściwości Thumbprint używanej w zadaniu SignFile w tym przykładzie, zobacz SignFile — Zadanie.
<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>
W poniższym przykładzie użyto GenerateApplicationManifest i GenerateDeploymentManifest do wygenerowania ClickOnce stosowania i wdrażania manifestów aplikacji z wielu plików i zestawów.
[!UWAGA]
W poniższym przykładzie wszystkie pliki binarne aplikacji są wstępnie zbudowaną w celu skupiania się na aspektach generacji manifestu.Ten przykład generuje w pełni pracujące ClickOnce wdrażania.
[!UWAGA]
Aby uzyskać więcej informacji na temat właściwości Thumbprint używanej w zadaniu SignFile w tym przykładzie, zobacz SignFile — Zadanie.
<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>
W poniższym przykładzie użyto GenerateApplicationManifest zadania, aby wygenerować macierzysty manifest aplikacji Test.exe, odwołującej się do macierzystych Alpha.dll i wyizolowanego modelu COM składnika Bravo.dll.
Ten przykład generuje Test.exe.manifest, sprawiając, że aplikacja XCOPY jest możliwa do rozmieszczenia korzystając z rejestracji wolnego modelu COM.
[!UWAGA]
W poniższym przykładzie wszystkie pliki binarne aplikacji są wstępnie zbudowaną w celu skupiania się na aspektach generacji manifestu.Ten przykład generuje w pełni pracujące ClickOnce wdrażania.
<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>
Zobacz też
Informacje
GenerateDeploymentManifest — Zadanie