C#程序需要读取ini文件的内容,我写的文件路径是Application.StartupPath + @"\" + comboBox1.Text.ToString() + ".ini";调试的时候没有问题,可以正常读取ini文件,但是publish的时候我把ini文件复制到publish根目录下,就读不到ini文件了是怎么回事
第1个回答 2014-12-10
你看看在发布的环境下,Application.StartupPath 是什么值,是你发布的“根目录”吗?追问
Application.StartupPath不就是exe的位置么,发布的环境下,不就是发布的根目录么,看的话怎么看
追答将这个变量输出到日志文件中看看。
第2个回答 2014-12-10
Application.StartupPath + @"\" + comboBox1.Text.ToString() + ".ini";
你的这句话是写在构造函数里面的,还是load里面的。追问
你的这句话是写在构造函数里面的,还是load里面的。追问
load的时候有一次,后面的构造函数还有一次
追答请写在load中,构造函数中的话程序没有加载完,找Application.StartupPath路径会找到C:/windows...那里面去。所以没有ini文件。
追问Application.StartupPath不是程序exe文件所在的位置么和C盘有什么关系,按你说的话,我是在load里也有,应该没问题呀
追答构造函数里面 程序都还没有初始化,Application.StartupPath会找不到exe路径啊,所以找系统路径去了。
这是一个原因,还有你可以直接把路径写成:comboBox1.Text.ToString() + ".ini"
不要Application.StartupPath
第3个回答 2014-12-10
请确认文件是否存在本回答被网友采纳