Udostępnij za pośrednictwem


<dependency> , element (wdrożenie ClickOnce)

Określa wersję aplikacji do zainstalowania oraz lokalizację manifestu aplikacji.

Składnia


      <dependency>
   <dependentAssembly
      preRequisite
      visible
      dependencyType
      codeBase
      size
   >
      <assemblyIdentity
         name
         version
         publicKeyToken
         processorArchitecture
         language
         type
      />
      <hash>
         <dsig:Transforms>
            <dsig:Transform
                Algorithm
            />
         </dsig:Transforms>
         <dsig:DigestMethod />
         <dsig:DigestValue>
         </dsig:DigestValue>
      </hash>

   </dependentAssembly>
</dependency>

Elementy i atrybuty

Element dependency jest wymagany. Nie ma atrybutów. Manifest wdrożenia może zawierać wiele dependency elementów.

Element dependency zwykle wyraża zależności dla głównej aplikacji w zestawach zawartych w aplikacji ClickOnce. Jeśli aplikacja Main.exe korzysta z zestawu o nazwie DotNetAssembly.dll, ten zestaw musi być wymieniony w sekcji zależności. Zależność może jednak również wyrażać inne typy zależności, takie jak zależności w określonej wersji środowiska uruchomieniowego języka wspólnego, na zestawie w globalnej pamięci podręcznej zestawów (GAC) lub na obiekcie COM. Ponieważ jest to technologia wdrażania bezobsługowa, technologia ClickOnce nie może zainicjować pobierania i instalacji tych typów zależności, ale uniemożliwia uruchomienie aplikacji, jeśli co najmniej jedna z określonych zależności nie istnieje.

dependentAssembly

Wymagany. Ten element zawiera assemblyIdentity element . W poniższej tabeli przedstawiono atrybuty obsługiwane przez dependentAssembly program .

Atrybut opis
preRequisite Opcjonalny. Określa, że ten zestaw powinien już istnieć w GAC. Prawidłowe wartości to true i false. Jeśli trueelement , a określony zestaw nie istnieje w GAC, uruchomienie aplikacji nie powiedzie się.
visible Opcjonalny. Identyfikuje tożsamość aplikacji najwyższego poziomu, w tym jej zależności. Używane wewnętrznie przez ClickOnce do zarządzania magazynem i aktywacją aplikacji.
dependencyType Wymagany. Relacja między tą zależnością a aplikacją. Prawidłowe wartości to:

- install. Składnik reprezentuje oddzielną instalację od bieżącej aplikacji.
- preRequisite. Składnik jest wymagany przez bieżącą aplikację.
codebase Opcjonalny. Pełna ścieżka do manifestu aplikacji.
size Opcjonalny. Rozmiar manifestu aplikacji w bajtach.

Assemblyidentity

Wymagany. Ten element jest elementem podrzędnym dependentAssembly elementu. Zawartość assemblyIdentity musi być taka sama jak opisana w manifeście aplikacji ClickOnce. W poniższej tabeli przedstawiono atrybuty assemblyIdentity elementu.

Atrybut opis
Name Wymagane. Identyfikuje nazwę aplikacji.
Version Wymagany. Określa numer wersji aplikacji w następującym formacie: major.minor.build.revision
publicKeyToken Wymagany. Określa 16-znakowy ciąg szesnastkowy, który reprezentuje ostatnie 8 bajtów skrótu SHA-1 klucza publicznego, w ramach którego jest podpisana aplikacja lub zestaw. Klucz publiczny używany do podpisywania musi mieć wartość 2048 bitów lub większą.
processorArchitecture Wymagany. Określa mikroprocesor. Prawidłowe wartości dotyczą x86 32-bitowego systemu Windows i IA64 64-bitowego systemu Windows.
Language Opcjonalny. Identyfikuje dwa częściowe kody języków zestawu. Na przykład EN-US, czyli angielski (USA). Wartość domyślna to neutral. Ten element znajduje się w asmv2 przestrzeni nazw.
type Opcjonalny. Aby uzyskać zgodność z poprzednimi wersjami z technologią instalacji równoległej systemu Windows. Jedyną dozwoloną wartością jest win32.

hash

Element hash jest opcjonalnym elementem podrzędnym file elementu. Element hash nie ma atrybutów.

Funkcja ClickOnce używa algorytmicznego skrótu wszystkich plików w aplikacji jako sprawdzenia zabezpieczeń, aby upewnić się, że żadne z plików nie zostało zmienione po wdrożeniu. hash Jeśli element nie zostanie uwzględniony, to sprawdzenie nie zostanie wykonane. W związku z tym pominięcie hash elementu nie jest zalecane.

dsig:Transforms

Element dsig:Transforms jest wymaganym elementem podrzędnym hash elementu. Element dsig:Transforms nie ma atrybutów.

dsig:Transform

Element dsig:Transform jest wymaganym elementem podrzędnym dsig:Transforms elementu. W poniższej tabeli przedstawiono atrybuty dsig:Transform elementu.

Atrybut opis
Algorithm Algorytm używany do obliczania skrótu dla tego pliku. Obecnie jedyną wartością używaną przez ClickOnce jest urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

Element dsig:DigestMethod jest wymaganym elementem podrzędnym hash elementu. W poniższej tabeli przedstawiono atrybuty dsig:DigestMethod elementu.

Atrybut opis
Algorithm Algorytm używany do obliczania skrótu dla tego pliku. Obecnie jedyną wartością używaną przez ClickOnce jest http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

Element dsig:DigestValue jest wymaganym elementem podrzędnym hash elementu. Element dsig:DigestValue nie ma atrybutów. Jego wartość tekstowa to obliczony skrót dla określonego pliku.

Uwagi

Manifesty wdrażania zwykle mają jeden assemblyIdentity element, który identyfikuje nazwę i wersję manifestu aplikacji.

Przykład 1

Poniższy przykład kodu przedstawia dependency element w manifeście wdrożenia Technologii ClickOnce.

<!-- Identify the assembly dependencies -->
<dependency>
  <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="16384">
    <assemblyIdentity name="MyApplication" version="0.0.0.0" cultural="neutral" processorArchitecture="msil" />
    <hash>
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
       <dsig:DigestValue>YzXYZJAvj9pgAG3y8jXUjC7AtHg=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

Przykład 2

Poniższy przykład kodu określa zależność od zestawu już zainstalowanego w GAC.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
  </dependentAssembly>
</dependency>

Przykład 3

Poniższy przykład kodu określa zależność od określonej wersji środowiska uruchomieniowego języka wspólnego.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
  </dependentAssembly>
</dependency>

Przykład 4

Poniższy przykład kodu określa zależność systemu operacyjnego.

<dependency>
   <dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
      <osVersionInfo>
         <os majorVersion="4" minorVersion="10" />
      </osVersionInfo>
   </dependentOS>
</dependency>

Zobacz też