Zadanie GenerateApplicationManifest

Generuje ClickOnce manifest aplikacji lub macierzystym manifestu.Manifest macierzystym opisuje składnika przez definiowanie unikatowej tożsamości składnika i identyfikacji wszystkich zestawów oraz pliki wchodzące w skład składnika.A ClickOnce manifest aplikacji rozszerza macierzystym manifestu wskazujący punkt wejścia, stosowania i określając poziom zabezpieczeń aplikacji.

Parametry

W poniższej tabeli opisano parametry dla GenerateApplicationManifest zadania.

Parametr

Opis

AssemblyName

Opcjonalny String parametru.

Określa Name pola tożsamości zestawu wygenerowanego manifestu.Jeśli ten parametr nie jest określony, nazwa jest wywnioskować z EntryPoint lub InputManifest parametry.Jeśli nazwa nie mogą być tworzone zadania wygeneruje błąd.

AssemblyVersion

Opcjonalny String parametru.

Określa Version pola tożsamości zestawu wygenerowanego manifestu.Jeśli ten parametr nie jest określony, jest używana wartość domyślną "1.0.0.0".

ClrVersion

Opcjonalny String parametru.

Określa minimalną wersję z wspólnej Language Runtime (CLR) wymagane przez aplikację.Wartością domyślną jest wersja środowiska CLR używany przez system kompilacji.Jeśli zadanie jest generowany manifestu macierzystym, ten parametr jest ignorowany.

ConfigFile

Opcjonalny ITaskItem[] parametru.

Określa, który element zawiera plik konfiguracji aplikacji.Jeśli zadanie jest generowany manifestu macierzystym, ten parametr jest ignorowany.

Dependencies

Opcjonalny ITaskItem[] parametru.

Określa listę elementu, który definiuje zestaw zestawy zależne wygenerowanego manifestu.Każdy element może opisane przez element metadanych wskazując Państwo dodatkowe wdrażania i typ zależność.Aby uzyskać więcej informacji zobacz sekcję "Metadanych elementu" poniżej.

Description

Opcjonalny String parametru.

Określa opis dla aplikacji lub składnika.

EntryPoint

Opcjonalny ITaskItem[] parametru.

Określa pojedynczy element, który wskazuje punkt wejścia dla wygenerowanego manifestu zestawu.

Dla ClickOnce manifest aplikacji, ten parametr określa Zgromadzenie uruchamiany, gdy aplikacja jest uruchomiona.

ErrorReportUrl

Opcjonalny [String] parametru.

Określa adres URL strony sieci Web, która jest wyświetlana w oknach dialogowych podczas raportów o błędach w instalacjach ClickOnce.

FileAssociations

Opcjonalny ITaskItem[] parametru.

Określa listę typ pliku, które są skojarzone z manifestu wdrażania ClickOnce.

Skojarzenia plików tylko ważne tylko wtedy, gdy.NET Framework 3.5 lub nowszego jest nacelowany.

Files

Opcjonalny ITaskItem[] parametru.

Pliki, aby uwzględnić w manifeście.Należy określić pełną ścieżkę do każdego pliku.

HostInBrowser

Opcjonalny [Boolean] parametru.

Jeśli true, aplikacja jest wykonywany przez przeglądarkę (tak jak są WPF aplikacji sieci Web w przeglądarce).

IconFile

Opcjonalny ITaskItem[] parametru.

Wskazuje plik ikony aplikacji.Ikona aplikacji jest wyrażona w manifest aplikacji wygenerowany i jest używana dla okna dialogowego Start Menu i Dodaj/Usuń programy.Jeśli to dane wejściowe nie zostanie określona, używana jest ikona domyślna.Jeśli zadanie jest generowany manifestu macierzystym, ten parametr jest ignorowany.

InputManifest

Opcjonalny ITaskItem parametru.

Wskazuje wejściowe dokumentu XML, aby służyć jako podstawa dla manifestu generator.Dzięki temu danych strukturalnych, takich jak zabezpieczenia aplikacji lub niestandardowe definicje manifestu odzwierciedlenie w manifeście danych wyjściowych.Element główny dokumentu XML musi być węzła zestawu w obszarze nazw asmv1.

IsolatedComReferences

Opcjonalny ITaskItem[] parametru.

Określa składniki modelu COM, aby wyizolować w wygenerowanego manifestu.Ten parametr obsługuje możliwość izolować składników COM dla wdrażania "Rejestracji wolna COM".Działa przez automatyczne generowanie manifestu ze standardowymi definicjami rejestracji COM.Jednakże składniki modelu COM musi być zarejestrowany na komputerze kompilacji, w tym celu działać poprawnie.

ManifestType

Opcjonalny String parametru.

Określa, jakiego typu manifest do wygenerowania.Ten parametr może mieć następujące wartości:

  • Native

  • ClickOnce

Jeśli ten parametr nie jest określony, zadanie domyślnie ClickOnce.

MaxTargetPath

Opcjonalny String parametru.

Określa maksymalną dozwoloną długość ścieżki pliku w ClickOnce wdrażanie aplikacji.Jeśli ta wartość jest określona, długość każdej ścieżki pliku w aplikacji jest sprawdzany na podstawie tego limitu.Wszystkie elementy, które przekraczają limit wzbudzi w ostrzeżenie kompilacji.Jeśli to dane wejściowe nie została określona lub jest równa zero, następnie nie jest przeprowadzane żadne sprawdzanie.Jeśli zadanie jest generowany manifestu macierzystym, ten parametr jest ignorowany.

OSVersion

Opcjonalny String parametru.

Określa wersję minimalną wymaganego systemu operacyjnego (OS), wymagane przez aplikację.Na przykład wartość "5.1.2600.0" wskazuje, że system operacyjny Windows XP.Jeśli ten parametr nie jest określony, zostanie użyta wartość "4.10.0.0", która wskazuje, Windows 98 Second Edition, minimalna obsługiwana OS z.NET Framework.Jeśli zadanie jest generowany manifestu macierzystym, to dane wejściowe są ignorowane.

OutputManifest

Opcjonalny ITaskItem parametr wyjścia.

Określa nazwę pliku manifestu wygenerowanych danych wyjściowych.Jeśli ten parametr nie jest określony, nazwa pliku wyjściowego jest wywnioskować na podstawie tożsamości wygenerowanego manifestu.

Platform

Opcjonalny String parametru.

Określa platformy docelowej aplikacji.Ten parametr może mieć następujące wartości:

  • AnyCPU

  • x86

  • x64

  • Itanium

Jeśli ten parametr nie jest określony, zadanie domyślnie AnyCPU.

Product

Opcjonalny String parametru.

Określa nazwę aplikacji.Jeśli ten parametr nie jest określony, nazwa jest wywnioskować na podstawie tożsamości wygenerowanego manifestu.Nazwa ta jest używana dla nazwy skrótów w Start menu i jest częścią nazwy, która pojawia się w oknie dialogowym Dodaj lub usuń programy.

Publisher

Opcjonalny String parametru.

Określa program publisher aplikacji.Jeśli ten parametr nie jest określony, nazwa jest wywnioskować z zarejestrowanym użytkownikiem lub tożsamości wygenerowanego manifestu.Nazwa ta jest używana nazwa folderu w Start menu i jest częścią nazwy, która pojawia się w oknie dialogowym Dodaj lub usuń programy.

RequiresMinimumFramework35SP1

Opcjonalny Boolean parametru.

Jeśli ma wartość true, aplikacja wymaga.NET Framework 3.5 z dodatkiem SP1 lub nowsza wersja.

TargetCulture

Opcjonalny String parametru.

Identyfikuje kultury aplikacji i określa Language pola tożsamości zestawu wygenerowanego manifestu.Jeżeli nie określono tego parametru, zakłada się, że aplikacja jest niezmienna kultura.

TargetFrameworkMoniker

Opcjonalny [String] parametru.

Określa moniker ramy docelowych.

TargetFrameworkProfile

Opcjonalny [String] parametru.

Określa profil docelowy ramy.

TargetFrameworkSubset

Opcjonalny [String] parametru.

Określa nazwę.NET Framework podzbiór do obiektu docelowego.

TargetFrameworkVersion

Opcjonalny [String] parametru.

Określa obiekt docelowy.NET Framework projektu.

TrustInfoFile

Opcjonalny ITaskItem parametru.

Wskazuje dokumentu XML, która określa zabezpieczenia aplikacji.Element główny dokumentu XML musi być węzła trustInfo, w obszarze nazw asmv2.Jeśli zadanie jest generowany manifestu macierzystym, ten parametr jest ignorowany.

UseApplicationTrust

Opcjonalny [Boolean] parametru.

Jeśli wartość true, Product, Publisher, i SupportUrl właściwości są zapisywane w manifeście aplikacji.

Uwagi

Oprócz parametrów wymienionych powyżej, to zadanie dziedziczy parametry z GenerateManifest , które sama klasa dziedziczy z Task klasy.Aby uzyskać listę parametrów klasy zadania, zobacz Klasa podstawowa zadania.

Aby uzyskać informacje dotyczące używania GenerateDeploymentManifest zadań, zobacz Zadanie GenerateApplicationManifest.

Dane wejściowe dla zależności i pliki mogą być dalsze ozdobione z metadanych elementu, aby określić stan wdrożenia dodatkowe dla każdego elementu.

Element metadanych

Nazwa metadanych

Opis

DependencyType

Wskazuje, czy zależność jest opublikowane i zainstalowane z aplikacji lub warunek.Metadanych jest ważna dla wszystkich zależności, ale nie jest używany dla plików.Są dostępne wartości dla metadanych:

  • Install

  • Prerequisite

Instalacja jest wartością domyślną.

AssemblyType

Wskazuje, czy zależność jest zarządzany lub macierzystym zestawu.Metadanych jest ważna dla wszystkich zależności, ale nie jest używany dla plików.Są dostępne wartości dla metadanych:

  • Managed

  • Native

  • Unspecified

UnspecifiedWartość domyślna, która wskazuje, że wytwornica manifestu automatycznie określi typ zestawu.

Group

Wskazuje grupy pobieranie 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, które jest ustawieniem domyślnym.Pliki w grupy nie są częścią pobierania początkowy wniosek.Pliki w grupie są pobierane tylko, gdy wyraźnie zażądanej przez aplikację za pomocą System.Deployment.Application.

Metadanych jest ważna dla wszystkich plików gdzie IsDataFile jest false i wszystkie zależności gdzie DependencyType jest Install.

TargetPath

Określa, w jaki sposób ścieżki powinny być zdefiniowane w wygenerowanego manifestu.Ten atrybut jest ważny dla wszystkich plików.Jeśli ten atrybut nie jest określony, używany jest określenie elementu.Ten atrybut jest ważna dla wszystkich plików i współzależności z DependencyType wartość Install.

IsDataFile

A Boolean wartości metadanych, która wskazuje, czy plik jest plikiem danych.Plik danych jest specjalne, w tym jest migrowana między aktualizacji aplikacji.Metadanych jest prawidłowa tylko dla plików.FalseWartość domyślna.

Przykład

W tym przykładzie użyto GenerateApplicationManifest zadanie do generowania ClickOnce manifest aplikacji i GenerateDeploymentManifest zadanie do generowania manifestu wdrażanie aplikacji z jednego zestawu.Następnie używa SignFile zadanie do podpisania manifestów.

Ilustruje to najprostszym scenariuszu możliwe generowanie manifestu gdzie ClickOnce manifesty są generowane dla pojedynczego programu.Domyślną nazwę i tożsamości są wywnioskować z zestawu dla manifestu.

[!UWAGA]

W poniższym przykładzie wszystkie pliki binarne aplikacji są wbudowane do skupiać się na aspektach generacji manifestu.Ten przykład generuje pełni pracy ClickOnce wdrażania.

[!UWAGA]

Aby uzyskać więcej informacji na Thumbprint właściwości używane w SignFile zadań w tym przykładzie, zobacz Zadanie 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>

W tym przykładzie użyto GenerateApplicationManifest i GenerateDeploymentManifest zadań do generowania ClickOnce stosowania i wdrażania manifesty aplikacji z jednego zestawu, podając nazwę i tożsamości manifestów.

W tym przykładzie jest podobny do poprzedniego przykładu, z wyjątkiem nazwa i tożsamość manifestów jawnie określony.Także w tym przykładzie jest konfigurowany jako aplikacja online, zamiast zainstalowanej aplikacji.

[!UWAGA]

W poniższym przykładzie wszystkie pliki binarne aplikacji są wbudowane do skupiać się na aspektach generacji manifestu.Ten przykład generuje pełni pracy ClickOnce wdrażania.

[!UWAGA]

Aby uzyskać więcej informacji na Thumbprint właściwości używane w SignFile zadań w tym przykładzie, zobacz Zadanie 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>

W tym przykładzie użyto GenerateApplicationManifest i GenerateDeploymentManifest zadań do generowania ClickOnce stosowania i wdrażania manifesty aplikacji z wielu plików i zestawów.

[!UWAGA]

W poniższym przykładzie wszystkie pliki binarne aplikacji są wbudowane do skupiać się na aspektach generacji manifestu.Ten przykład generuje pełni pracy ClickOnce wdrażania.

[!UWAGA]

Aby uzyskać więcej informacji na Thumbprint właściwości używane w SignFile zadań w tym przykładzie, zobacz Zadanie 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>

W tym przykładzie użyto GenerateApplicationManifest zadanie do generowania macierzystym manifest aplikacji Test.exe odwoływania się do macierzystych Alpha.dll i odizolowanych składnik COM Bravo.dll.

Ten przykład generuje Test.exe.manifest, tworzenie aplikacji XCOPY mobilnych z zalet rejestracji wolna COM.

[!UWAGA]

W poniższym przykładzie wszystkie pliki binarne aplikacji są wbudowane do skupiać się na aspektach generacji manifestu.Ten przykład generuje pełni pracy 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

Zadanie GenerateDeploymentManifest

Zadanie SignFile

Koncepcje

Program MSBuild zadań

Inne zasoby

Zadanie programu MSBuild odniesienia