Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nastavení aplikace pro Windows Forms usnadňuje vytváření, ukládání a údržbu vlastních aplikací a uživatelských předvoleb v klientovi. Následující dokument popisuje, jak fungují soubory nastavení aplikace v aplikaci ClickOnce a jak ClickOnce migruje nastavení, když uživatel upgraduje na další verzi.
Níže uvedené informace platí pouze pro výchozího zprostředkovatele nastavení aplikace, LocalFileSettingsProvider třídu. Pokud zadáte vlastního poskytovatele, tento poskytovatel určí, jak ukládá data a jak upgraduje nastavení mezi verzemi. Další informace o poskytovatelích nastavení aplikací najdete v tématu Architektura nastavení aplikace.
Soubory nastavení aplikace
Nastavení aplikace využívá dva soubory: <.exe.configaplikace> a user.config, kde aplikace je název vaší aplikace Windows Forms. user.config se vytvoří v klientovi při prvním uložení nastavení v oboru uživatele. <aplikace>.exe.confignaproti tomu bude existovat před nasazením, pokud definujete výchozí hodnoty pro nastavení. Visual Studio bude tento soubor automaticky obsahovat, když použijete příkaz Publikovat . Pokud vytváříte aplikaci ClickOnce pomocí Mage.exe nebo MageUI.exe, musíte se ujistit, že je tento soubor součástí ostatních souborů vaší aplikace při naplnění manifestu aplikace.
Poznámka:
V ClickOnce pro .NET Core 3.1 a .NET 5 nebo novější použijte dotnet-mage.exe místo Mage.exe. Další informace naleznete v tématu ClickOnce pro .NET.
V aplikaci Windows Forms, která není nasazena pomocí ClickOnce, je aplikace aplikace<>.exe.config soubor uložen v adresáři aplikace, zatímco user.config soubor je uložen ve složce Dokumenty a nastavení uživatele. V aplikaci <app>.exe.config se nachází v adresáři aplikace uvnitř mezipaměti ClickOnce aplikace a user.config se nachází v adresáři dat ClickOnce pro danou aplikaci.
Bez ohledu na to, jak nasadíte aplikaci, nastavení aplikace zajišťuje bezpečný přístup pro čtení k <.exe.configaplikace>a bezpečný přístup pro čtení a zápis do user.config.
V aplikaci ClickOnce je velikost konfiguračních souborů používaných nastavením aplikace omezena velikostí mezipaměti ClickOnce. Další informace naleznete v tématu Přehled mezipaměti ClickOnce.
.NET Core a .NET 5+
V současné době musí být sestavení .NET Core, které se má publikovat, podepsáno souborem silného názvu klíče. Pokud tomu tak není, ApplicationSettingsBase.Upgrade metoda správně nekopíruje nastavení po novém publikování ClickOnce. Ve vlastnostech projektu .NET Core můžete zadat použití silného názvu v části Sestavení > silného pojmenování .
Aktualizace verzí
Stejně jako každá verze aplikace ClickOnce je izolovaná od všech ostatních verzí, nastavení aplikace pro aplikaci ClickOnce jsou izolována také od nastavení pro jiné verze. Když uživatel upgraduje na novější verzi aplikace, nastavení aplikace porovná nejnovější (číslovaná) nastavení nejnovější verze s nastavením poskytnutým aktualizovanou verzí a sloučí nastavení do nové sady souborů nastavení.
Následující tabulka popisuje, jak se nastavení aplikace rozhodne, která nastavení se mají kopírovat.
| Typ změny | Akce upgradu |
|---|---|
| Nastavení přidané do <aplikace>.exe.config | Nové nastavení je sloučeno do aktuální verze <app>.exe.config |
| Nastavení bylo odebráno ze souboru <app>.exe.config aplikace. | Staré nastavení je odstraněno z aktuální verze aplikace<.exe.config> |
| Výchozí nastavení se změnilo; místní nastavení je v user.config stále nastaveno na původní výchozí hodnotu. | Nastavení se sloučí do user.config aktuální verze s novou výchozí hodnotou. |
| Výchozí nastavení bylo změněno; nastavení bylo upraveno na jiné než výchozí v user.config | Nastavení se sloučí do user.config aktuální verze s nezachovanou výchozí hodnotou. |
Pokud jste vytvořili vlastní třídu obálky nastavení aplikace a chcete přizpůsobit logiku aktualizace, můžete přepsat metodu Upgrade .
ClickOnce a nastavení roamingu
ClickOnce nefunguje s nastavením roamingu, což umožňuje, aby vás soubor nastavení sledoval napříč počítači v síti. Pokud potřebujete nastavení roamingu, budete muset buď implementovat zprostředkovatele nastavení aplikace, který ukládá nastavení přes síť, nebo vyvíjet vlastní třídy nastavení pro ukládání nastavení na vzdáleném počítači. Další informace o poskytovatelích nastavení najdete v tématu Architektura nastavení aplikace.