Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从文档中访问ini文件以进行读取_C#_File_Ini - Fatal编程技术网

C# 从文档中访问ini文件以进行读取

C# 从文档中访问ini文件以进行读取,c#,file,ini,C#,File,Ini,我放了一个config ini文件“config.ini”,用于从我的C#程序读取和写入,问题是,如果用户启用了UAC,那么由于一些奇怪的原因,程序不会读取或写入该文件,但它成功创建了该文件,但无法读取或写入该文件 我怎样才能让它工作呢 此文件保存到DOCUMENTSFOLDER\ProductName\config.ini中 Ini类文件: config.ini创建的代码片段:您应该更幸运地写入路径:Environment.SpecialFolder.LocalApplicationData。

我放了一个config ini文件“config.ini”,用于从我的C#程序读取和写入,问题是,如果用户启用了UAC,那么由于一些奇怪的原因,程序不会读取或写入该文件,但它成功创建了该文件,但无法读取或写入该文件

我怎样才能让它工作呢

此文件保存到DOCUMENTSFOLDER\ProductName\config.ini中

Ini类文件:


config.ini创建的代码片段:

您应该更幸运地写入路径:Environment.SpecialFolder.LocalApplicationData。您的应用程序应该有权限在UAC打开或关闭的情况下写入,甚至在应用程序/用户权限非常有限的机器上。

在继续之前,您应该检查哪个是整洁的INI处理程序,并负责读取/写入INI文件

从ini文件读取的代码的示例用法

using Nini; using Nini.Config; namespace niniDemo{ public class niniDemoClass{ public bool LoadIni(){ string configFileName = "demo.ini"; IniConfigSource configSource = new IniConfigSource(configFileName); IConfig demoConfigSection = configSource.Configs["Demo"]; string demoVal = demoConfigSection.Get("demoVal", string.Empty); } } } 使用Nini; 使用Nini.Config; 名称空间niniDemo{ 公营九面舱{ 公共bool LoadIni(){ 字符串configFileName=“demo.ini”; IniConfigSource configSource=新的IniConfigSource(configFileName); IConfig demoConfigSection=configSource.Configs[“Demo”]; string demoVal=demoConfigSection.Get(“demoVal”,string.Empty); } } } 试试看,然后从那里开始

希望这有帮助, 顺致敬意,
Tom.

我刚刚试过:字符串iniPath=Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+“\\Product\\config.ini”;这是不允许的,它没有读取数据。程序是否成功地在那里写入了文件(如果我不清楚,这不是DOCUMENTSFOLDER,而是用于INI文件的更好文件夹)?是的,它对所有数据都执行了,但它没有从中读取,我使用INI类从该文件中获取值。课堂来源在我的问题中。我已经使用了DOCUMENTSFOLDER和以前的common applications data文件夹,仍然是一个禁忌,我相信它可能与Ini类有关。此外,我忘记了LocalApplicationData是否以反斜杠结尾,这可能是问题所在。在这两种情况下,最好使用Path.Combine来处理这两种情况。例如,Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),“Product\\config.ini”);你能更具体地说明阅读失败的原因吗。例如,它是否抛出异常(如果是,是哪个异常),或者没有抱怨,但没有看到文件中的任何数据,或者声称文件不存在,等等?您能否附上一些代码,让我们管理员查看出了什么/如何/为什么/何时/何地出了问题?添加了两个文件,有疑问地进行了更新我正在将我的项目重新编码给nini,希望它能解决我的问题。干得很好!非常感谢,你帮我省下了很多麻烦@桑德普:好东西!很高兴能帮上忙!:)