在winform程序中添加一个xml文件,这个xml文件用来记录登录信息如用户名,然后还有其他一些程序运行时用户所设定的信息,主要是想读写这个xml文件来是实现特定信息的记忆功能。在调试的时候是没有问题的,程序运行正常,但是在打包安装之后,打开主程序,报错说:
An unhandled exception('System.IO.FileNotFountExcpetion') occured in MRRProject.exe[576].
如果把对xml文件的操作注释掉,安装后程序运行正常,添加对xml的操作后就报这个错。
对xml文件的操作代码如下:
XmlDocument doc = new XmlDocument();
doc.Load(@"XMLFile1.xml");
XmlNodeList nodes = doc.GetElementsByTagName("username");
textBox1.Text = nodes[0].InnerText;
我在打包的时候已经包括了所有的文件了,为什么会找不到文件呢?
An unhandled exception('System.IO.FileNotFountExcpetion') occured in MRRProject.exe[576].
如果把对xml文件的操作注释掉,安装后程序运行正常,添加对xml的操作后就报这个错。
对xml文件的操作代码如下:
XmlDocument doc = new XmlDocument();
doc.Load(@"XMLFile1.xml");
XmlNodeList nodes = doc.GetElementsByTagName("username");
textBox1.Text = nodes[0].InnerText;
我在打包的时候已经包括了所有的文件了,为什么会找不到文件呢?
if (str.ToLower().IndexOf("file:///") >= 0)
{
str = str.Substring(8, str.Length - 8);
}
string path = System.IO.Path.GetDirectoryName(str);
doc.Load(path+@"\XMLFile1.xml");
那你安装以后,exe和xml文件的相对位置能说下吗? 不然没法告诉你怎么写路径
安装的时候默认为C:\Program file\MRR,安装后这个目录里面包含了所有的文件,这里面有18个dll文件,一个MRRProject.exe.config文件,一个tlb文件,一个olb文件,没有子文件夹,也没有xml文件,系统怎么放置xml文件似乎看不出来。
路径的代码我已经给你了!
那有可能你没有把那个xml包含在打包工程里