如何指向我的app.config appSettings'外部文件使用环境变量指向路径?以下内容未得到承认:
<appSettings file="%AppData%\MyApp\MySettingsFile.config" />
但是,绝对路径会被识别,即使它们不在程序集的输出路径的层次结构中,例如:
<appSettings file="C:\MyApp\MySettingsFile.config" />
答案 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文件所在的应用程序根目录。“
我猜你的方案在调用完整路径时有效,因为你的MySettingsFile.config仍在你的应用程序层次中。