Settings
Déclarés dans PackageInfo.xml, lus à l'exécution :
int timezone = PackageHost.GetSettingValue<int>("TimeZone");
bool has = PackageHost.ContainsSetting("ApiKey");
PackageHost.TryGetSettingValue<double>("Latitude", out var lat, defaultValue: 0);
// Un setting de type JsonObject (voir le tableau des types dans PackageInfo.xml) :
var config = PackageHost.GetSettingAsJson<MyConfig>("OpenWeatherConfiguration");SettingsUpdated se déclenche à chaque fois que la Console pousse un changement de settings pendant que le package tourne. Abonnez-vous si un setting live (une clé API, par exemple) doit prendre effet sans redémarrage - ne lisez pas les settings qu'une fois dans OnStart.
Tokens de variable
La valeur d'un setting peut contenir un token {Nom}, résolu côté serveur contre les Variables du Server (Console → Variables) avant livraison. GetSettingValue/GetSettingAsJson voient toujours la valeur substituée, jamais le token littéral. Rien à faire côté package - voir Variables pour le point de vue admin.
Le panneau Settings d'un package dans la Console liste les tokens de variable disponibles au-dessus des champs eux-mêmes - cliquez sur un token pour le copier, puis collez-le dans n'importe quelle valeur de setting :
