在配置文件中有这样一个配置
csharp
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<appSettings>
<add key="aa" value="123,456,678" />
</appSettings>
</configuration>
在winform窗体的load事件中获取 aa的值始终获取不到
csharp
string orderNumber = ConfigurationManager.AppSettings["hospitalCode"].Trim();
起初我只在aa中配置了 123, 后续添加了456,678,但是一直获取不到456,678
解决方案
在调用配置文件前添加以下代码,查看当前读取的是哪个路径下的配置文件
string configPath = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
MessageBox.Show("实际读取的配置文件路径:\n" + configPath);
然后看到它去读取了C:\Users\Administrator\AppData\Roaming\文件夹名\程序名.exe.Config这个路径
这是因为程序被设计为每用户配置文件存储或者ClickOnce部署。
解决办法:
1.直接去删除C:\Users\Administrator\AppData\Roaming\文件夹名\程序名.exe.Config文件
2.或者取消勾选查看是否管用
