C# 读写上级目录配置文件Config.ini
时间: 2024-09-20 13:06:08 浏览: 64
在C#中,读取和写入上级目录下的`Config.ini`文件通常需要利用`ConfigurationManager`类或`IniParser`库。如果你想要使用`System.Configuration`提供的功能,可以这样做:
1. **使用`ConfigurationManager`**:
```csharp
using System.Configuration;
// 获取上级目录路径(假设根目录是AppDomain.CurrentDomain.BaseDirectory)
string parentDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..");
// 定义配置文件的完整路径
string configFile = Path.Combine(parentDir, "Config.ini");
// 读取值
string myValue = ConfigurationManager.AppSettings["MyKey"];
// 写入值
if (ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) != null)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["MyKey"].Value = "New Value";
config.Save(ConfigurationSaveMode.Modified);
}
```
2. **使用第三方库如IniParser**:
首先,你需要安装IniParser NuGet包。然后,按照以下步骤操作:
```csharp
using IniParser;
using IniParser.Model;
// 读取
List<IniSetting> iniSettings = IniFile.LoadFromFile(parentDir + @"\Config.ini");
IniSetting setting = iniSettings.FirstOrDefault(s => s.Key == "MyKey");
string myValue = setting?.Value;
// 写入
IniDocument iniDoc = new IniDocument();
IniSection settingsSection = iniDoc.Sections.Add("Settings");
settingsSection[myKey] = "New Value";
using (FileStream fs = File.CreateText(parentDir + @"\Config.ini"))
{
iniDoc.Write(fs);
}
```
记得处理可能出现的异常,并确保你有权限访问上级目录。
阅读全文