Udostępnij za pośrednictwem


Pliki konfiguracji aplikacji

Plik konfiguracji aplikacji jest plikiem XML używanym do kontrolowania powiązania zestawu. Może przekierować aplikację z jednej wersji zestawu równoległego do innej wersji tego samego zestawu. Jest to nazywane konfiguracji dla aplikacji. Plik konfiguracji aplikacji dotyczy tylko określonego manifestu aplikacji i zestawów zależnych. Składniki izolowane skompilowane za pomocą osadzonego manifestu ISOLATIONAWARE_MANIFEST_RESOURCE_ID wymagają oddzielnego pliku konfiguracji aplikacji. Manifesty zarządzane za pomocą CreateActCtx wymagają oddzielnego pliku konfiguracji aplikacji.

Przekierowanie określone przez plik konfiguracji aplikacji może zastąpić wersje zestawów określone przez manifesty aplikacji i plików konfiguracji wydawcy. Jeśli na przykład plik konfiguracji wydawcy określa, że wszystkie odwołania do zestawu mają być przekierowywane z wersji 1.0.0.0 do 1.1.0.0, można użyć pliku konfiguracji aplikacji do przekierowania określonej aplikacji do używania wersji 1.0.0.0. Plik konfiguracji aplikacji dotyczy tylko określonego manifestu aplikacji i zestawów zależnych.

Aby uzyskać pełną listę schematu XML, zobacz Schemat pliku konfiguracji aplikacji.

Pliki konfiguracji aplikacji zawierają elementy i atrybuty pokazane w poniższej tabeli.

Pierwiastek Atrybuty Wymagane
konfiguracji Tak
windows Tak
publisherPolicy Tak
zastosuj Tak
środowiska uruchomieniowego Nie
assemblyBinding Tak
sondowania Nie
privatePath Tak
zależności Nie
zależneZasad Tak
assemblyIdentity Tak
typ Tak
nazwa Tak
języka Nie
processorArchitecture Tak
wersji Tak
publicKeyToken Nie
bindingRedirect Tak
oldVersion Tak
newVersion Tak

Lokalizacja pliku

Pliki konfiguracji aplikacji muszą być zainstalowane w tej samej lokalizacji co manifest aplikacji aplikacji.

Składnia nazwy pliku

Nazwa pliku konfiguracji aplikacji to nazwa pliku wykonywalnego aplikacji, a następnie .config.

Na przykład plik konfiguracji aplikacji, który odwołuje się do Example.exe lub Example.dll, użyje składni nazwy pliku pokazanej w poniższym przykładzie. Możesz pominąć pole dla identyfikatora zasobu <>, jeśli zainstalujesz plik konfiguracji jako oddzielny plik lub jeśli identyfikator zasobu ma wartość 1.

example.exe.<identyfikator zasobu>.config

example.dll.<identyfikator zasobu>.config

Pierwiastki

W nazwach elementów i atrybutów uwzględniana jest wielkość liter. Wartości elementów i atrybutów są bez uwzględniania wielkości liter, z wyjątkiem wartości atrybutu typu.

konfiguracja

Element kontenera dla windows i środowiska uruchomieniowego elementów pliku konfiguracji aplikacji. Wymagane.

Windows

Zawiera części pliku konfiguracji aplikacji, które mają zastosowanie do przekierowania zestawów Win32.

Nuta

Autor aplikacji nie powinien zawierać pliku konfiguracji z windows podelementem w ramach aplikacji. Może to być dozwolone, jeśli jedynym celem pliku konfiguracji jest włączenie privatePath funkcji sondowania elementu. Element sondowania jest niedostępny w systemach starszych niż Windows Server 2008 R2 i Windows 7.

publisherPolicy

Określa, czy mają być stosowane zasady wydawcy.

Ten element zawiera atrybuty pokazane w poniższej tabeli.

Atrybut Opis
zastosuj Wartość "tak" stosuje zasady wydawcy. Jest to ustawienie domyślne. Wartość "nie" nie stosuje zasad wydawcy.

Środowiska wykonawczego

Zawiera części pliku konfiguracji aplikacji, które mają zastosowanie do przekierowania zestawów platformy .Net.

assemblyBinding

Zawiera informacje o przekierowaniu aplikacji i zestawie, którego dotyczy ten plik konfiguracji aplikacji. Pierwszy podelement assemblyBinding musi być assemblyIdentity identyfikujący aplikację.

Począwszy od systemu Windows Server 2008 R2 i Windows 7 element assemblyBinding może zawierać element sondowania .

Sondowanie

Opcjonalny podelement elementu assemblyBinding, który rozszerza wyszukiwanie zestawów na dodatkowe katalogi. Dodatkowe katalogi nie muszą być podkatalogami katalogu zestawu.

Nuta

Ten element jest niedostępny w systemach starszych niż Windows Server 2008 R2 i Windows 7 i może być używany tylko w windows elementu.

Ten element zawiera atrybuty pokazane w poniższej tabeli.

Atrybut Opis
privatePath Określa ścieżki względne podkatalogów katalogu podstawowego aplikacji, który może zawierać zestawy. Można określić maksymalnie dziewięć ścieżek podkatalogów. Ogranicz każdą ścieżkę podkatalogu średnikami.

Specyfikator specjalny z podwójnymi kropkami można użyć w ścieżce, aby oznaczyć katalog nadrzędny bieżącego katalogu. Nie więcej niż dwa poziomy powyżej bieżącego katalogu można określić przy użyciu dwukropków. Nie należy używać kropek potrójnych. Na przykład aplikacja korzystająca z następującej sondowania element sprawdza dodatkowe katalogi dla zestawu.

<probing privatePath="bin;..\bin2\subbin;bin3"/>

zależność

Element kontenera dla co najmniej jednego zależnegoAssembly. Każdy zależny może znajdować się wewnątrz dokładnie jednej zależności . Ten element nie ma atrybutów. Fakultatywny.

dependentAssembly

Pierwszy podelement musi być elementem assemblyIdentity, który identyfikuje zestaw równoległy przekierowywany przez plik konfiguracji aplikacji. zależnaZasane nie ma atrybutów.

assemblyIdentity

Jako pierwszy podelement elementu assemblyBindingassemblyIdentity opisuje i jednoznacznie identyfikuje aplikację. Plik konfiguracji aplikacji przekierowuje powiązanie tej aplikacji do zestawów równoległych. Na przykład następujące assemblyIdentity wskazuje, że plik konfiguracji aplikacji wpływa na powiązanie aplikacji mysampleApp z zestawami równoległymi. Przekierowywane zestawy zostaną zidentyfikowane w zależnymZasad.

<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>

Jako pierwszy podelement elementu dependAssembly, assemblyIdentity opisuje zestaw równoległy, od którego zależy aplikacja. Plik konfiguracji aplikacji ponownie konfiguruje tożsamość tego wymaganego zestawu. Na przykład następujące assemblyIdentity i bindingRedirect rekonfiguruje zależność od Microsoft.Windows.SampleAssembly z wersji 2.0.0.0 do wersji 2.1.0.0.

<dependency>
      <dependentAssembly>
         <assemblyIdentity type="win32"
          name="Microsoft.Windows.SampleAssembly"
          processorArchitecture="x86"
          publicKeyToken="0000000000000000"/>
         <bindingRedirect oldVersion="2.0.0.0" newVersion="2.1.0.0"/>
      </dependentAssembly>
</dependency>

Należy pamiętać, że każda assemblyIdentity uwzględniona w zależnymZasambly musi dokładnie odpowiadać assemblyIdentity w manifeście zestawu .

Element assemblyIdentity ma następujące atrybuty. Nie ma żadnych podelementów.

Atrybut Opis
typ Wartość musi być win32 (małe litery). Wymagane.
nazwa Atrybut name identyfikuje aplikację, której dotyczy plik konfiguracji aplikacji lub przekierowywany zestaw. Użyj następującego formatu nazwy: Organization.Division.Name. Wymagane. Na przykład: Microsoft.Windows.MysampleApp lub Microsoft.Windows.MysampleAsm.
języka Identyfikuje język. Fakultatywny. W przypadku assemblyIdentity odwołującego się do zestawu, jeśli zestaw jest specyficzny dla języka, określ kod języka DHTML. Jeśli zestaw jest używany na całym świecie (neutralny język) ustaw wartość na "*".
processorArchitecture Określa procesor z uruchomioną aplikacją.
wersji Określa wersję aplikacji lub zestawu. Użyj składni wersji czteroczęściowej: mmmm.nnnn.oooo.pppp. Wymagane.
publicKeyToken W przypadku assemblyIdentity odwołującego się do zestawu, 16-znakowy ciąg szesnastkowy reprezentujący ostatnie 8 bajtów skrótu SHA-1 klucza publicznego, w ramach którego zestaw jest podpisany. Klucz publiczny używany do podpisywania wykazu musi mieć wartość 2048 bitów lub większą. Wymagane dla wszystkich współużytkowanych zestawów side-by-side.

bindingRedirect

Element bindingRedirect zawiera informacje o przekierowaniu powiązania zestawu. Każdy bindingRedirect musi być uwzględniony w dokładnie jednym zależnymZasambly. Czteroczęściowa składnia wersji nowej i starej wersji musi określać te same wersje główne i pomocnicze.

Ten element zawiera atrybuty pokazane w poniższej tabeli.

Atrybut Opis
oldVersion Określa wersję zestawu, która jest zastępowana i przekierowywana. Użyj czteroczęściowej składni wersji nnnnn.nnnnn.nnnnn.nnnnn. Określ zakres wersji przez kreskę bez spacji. Na przykład 2.14.3.0 lub 2.14.3.0 2.16.0.0. Wymagane.
newVersion Określa wersję zestawu zastępczego. Użyj składni wersji czteroczęściowej nnnnn.nnnnn.nnnnn.nnnnn.

Uwagi

Pliki konfiguracji aplikacji nie określają plików.

Przykład

<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.10.0"/>
<bindingRedirect oldVersion="1.0.50.2011-1.0.60.65535" newVersion="1.0.70.0"/>