Comment puis-je modifier (ou remplacer) une variable de paramètres.Settings en ajoutant une variable à l'app.config sur la production? P>
est-ce possible quand même? p>
5 Réponses :
Seulement via le code:
E.g. p> Si toutefois, votre problème maintient différentes valeurs de configuration dans des environnements différents, j'utiliserais des applications à la place. P> Vous pouvez ensuite utiliser un remplacement de développeur fichier. p> voir http://www.compiledhents.com/2005/03/overriding-webconfig-app-Settings-with.html P> P>
L'OP est de poser des questions sur les paramètres.Settings et non de la section applications code>.
Cela dépend de la portée des paramètres. Si son réglage de la portée de la demande, la modification de sa valeur dans App.config est suffisante. p>
Toutefois, si c'est un paramètre d'application de l'utilisateur, la valeur présente dans l'app.config n'est que la valeur par défaut utilisée pour les nouveaux utilisateurs et que chaque utilisateur qui utilisait déjà l'application aura la valeur actuellement utilisée stockée dans un fichier séparé, l'utilisateur. Config, la modification de la valeur dans l'app.config n'aura aucun effet aux utilisateurs qui exécutent déjà l'application une fois. P>
En raison de la modification de la valeur d'un paramètre de portée utilisateur peut être une tâche gênante. Vous pouvez vérifier la réponse suivante pour plus d'informations sur la modification du paramètre d'application de l'utilisateur: P>
Utilisez différents fichiers de configuration pour la production et pour vous. Fondamentalement sur la production, vous compileriez en libération, donc si vous utilisez Visual Studio pour cela, utilisez des événements Post Build pour copier le fichier de configuration de version au cas où vous prépareriez une construction pour la production. P>
Je préférerais cela au lieu de la modifier du code, comme pour quelqu'un d'autre em> est beaucoup plus facile de voir le différent dans le fichier de configuration, puis va au fond du code pour trouver tout le Si / sinon code> Stuff. P>
Vous devez faire référence directement aux applications que vous essayez de remplacer et de spécifier explicitement la propriété ayant une valeur remplacée.
<configuration> <!-- section definitions for all elements in <configuration> tag --> <configSections> <!-- section group, meaning: there will be a <applicationSettings> tag in you configuration--> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <!-- defines that there will be a <appname.Properties.Settings> tag inside your <applicationSettings> tag --> <section name="appname.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </sectionGroup> </configSections> <applicationSettings> <appname.Properties.Settings> <!-- name of the property you want to override --> <setting name="setting1" serializeAs="String"> <!-- new value --> <value>new string value</value> </setting> </appname.Properties.Settings> </applicationSettings> </configuration>
où est-ce que appname code> vient?
Nous avons migré vers .net 5 et nous utilisons app.config. Dans notre environnement de test avant de remplacer les paramètres d'autres projets tels que celui
Pour quiconque lisant la question de @ alexkvitchastiy, il apparaît que, dans .NET 5.0, la convention de dénomination a laissé tomber le .properties. Code> donc son juste
@Scottymac Oh mec, si c'est vrai et ça marche dans .net 5 u me rend la personne la plus heureuse dans ce monde, parce que j'ai essayé beaucoup de solution de contournement différente!
@Scottymac idk homme, ça ne marche pas. Aussi, lorsque je crée un fichier de paramètres, il s'agit par défaut Créer
Pour une application d'application Scope Connection Valeur:
<connectionStrings> <add name="appname.Properties.Settings.setting1" connectionString="test string" providerName="dbProvider"/> </connectionStrings>