app.config appSettings文件属性中的环境变量

时间:2017-07-10 16:00:18

标签: .net app-config

如何指向我的app.config appSettings'外部文件使用环境变量指向路径?以下内容未得到承认:

<appSettings file="%AppData%\MyApp\MySettingsFile.config" />

但是,绝对路径会被识别,即使它们不在程序集的输出路径的层次结构中,例如:

<appSettings file="C:\MyApp\MySettingsFile.config" />

2 个答案:

答案 0 :(得分:1)

您可以按照以下方式进行:

如果您在 app.config 中的更改如下:

<appSettings file="%AppData%\MyApp\MySettingsFile.config" />

然后在 .cs 文件中,使用 Environment.ExpandEnvironmentVariables 扩展环境变量,如下所示:

var pathConfig = ConfigurationManager.AppSettings["file"];
var expandedPath = Environment.ExpandEnvironmentVariables(pathConfig);

expandedPath 将具有扩展路径。

答案 1 :(得分:0)

“指定的路径是相对于主配置文件。对于Windows窗体应用程序,这将是二进制文件夹(例如/ bin / debug),而不是应用程序配置文件的位置。对于Web窗体应用程序,该路径是相对于web.config文件所在的应用程序根目录。“

right-to-left mark

我猜你的方案在调用完整路径时有效,因为你的MySettingsFile.config仍在你的应用程序层次中。