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.
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"/>