是否可以在App.config文件的appSettings中引用主目录?
本文关键字:appSettings 引用 主目录 文件 App config 是否 | 更新日期: 2023-09-27 18:01:40
我在Visual Studio(2010)中有这个c#项目,我想在项目的App.config文件的<appSettings>
部分中引用我的主目录中的文件。也就是说,我使用以下语法:
<appSettings>
<add key="Database" value="sqlite:///C:'Users'arvek'test.db3" />
</appSettings>
是否有可能通过变量而不是直接硬编码来引用我的主目录(C:'Users'arvek) ?F.ex: value = " sqlite:///$ HOME ' test.db3"。
ConfigurationManager
不会自动展开应用程序设置中的任何内容,因为它们只是自由格式的字符串,但您可以手动这样做。使用Environment
的ExpandEnvironmentVariables
方法,根据当前环境展开形式为%VARIABLENAME%
的变量。所以:
<appSettings>
<add key="Database" value="sqlite:///%APPDATA%'database'test.db3" />
</appSettings>
string path = Environment.ExpandEnvironmentVariables(ConfigurationManager.AppSettings["Database"]);
"home"目录的根路径在%USERPROFILE%变量中,尽管%APPDATA%是放置您所讨论的内容的传统位置。还有%ALLUSERSPROFILE%用于系统范围的数据(尽管在Windows 7中,它实际上指向一个特殊的系统范围的数据文件夹,而不是"公共"配置文件)
我发现用这行简单的代码更容易获得应用程序的目录
string appBasePath = AppDomain.CurrentDomain.BaseDirectory;
我就是这么称呼它的