我不熟悉app.config和xml,目前正在对一些我还没有编写的代码进行重构。
目前我们有一个代码片段,如下所示:
<setting name="FirstSetting" serializeAs="String">
<value>Data Source=C:\Documents and Settings\All Users\ApplicationData\Company ...;Persist Security Info=False</value>我想做的是让它指向像${PROGRAMDATA}\Company\...这样的东西
我如何才能做到这一点,记住PROGRAMDATA并不总是指向C:\ProgramData?
发布于 2011-03-16 08:07:25
我真的不想像其他响应一样在代码中更改它,因为这就消除了将它作为配置设置的目的。
事实证明,在这种情况下,%ProgramData%\Company...是使用环境变量的正确方式。
发布于 2014-10-23 18:56:26
使用
Environment.ExpandEnvironmentVariables(stringFromConfig);它将字符串中的所有现有环境变量(如%ProgramData% )替换为确切的值。
发布于 2011-03-15 03:04:56
是的,就像这样写在你的环境中。然后只需在运行时替换${PROGRAMDATA}:
var setting = Properties.Settings.Default.FirstSetting;
setting = setting.Replace("${PROGRAMDATA)",
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));https://stackoverflow.com/questions/5303113
复制相似问题