我制作了一个程序,该程序使用包含站点列表的预制文本文件。现在在某些计算机上该程序可以正常工作,但在我朋友的计算机上却不行。
我检查了我的 2 台 Windows 7 计算机和 1 台 XP 上的程序,我没有任何错误。这个程序在XP上用了一段时间,现在我朋友想把它安装在他家的windows 7电脑上,但是安装后程序找不到文件。
这是他得到的错误:
System.IO.FileNotFoundException: file not found 'C:\Users\eli\AppData\Roaming\fourmlinks.txt'.
file name: 'C:\Users\eli\AppData\Roaming\fourmlinks.txt'
问题是我将这个文件放在主程序文件夹(应用程序文件)中,但它仍然找不到它。
这是我在程序启动时用来查找文件的代码:
sring path = "";
path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
System.OperatingSystem osInfo = System.Environment.OSVersion;
if (osInfo.Platform == PlatformID.Win32NT)
{
if (osInfo.Version.Major == 5 && osInfo.Version.Minor != 0)
{
//running XP
//path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\fourmlinks.txt";
path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\fourmlinks.txt";
}
}
你可以看到,我试图确保它可以在 Windows 7 和 Windows XP 上运行。
注意:我不介意改变我使用此文件的方式,甚至以这种方式丢失并尝试在操作系统(win 7 和 XP)上工作的完全不同的方式。如果你建议我新的方式,我会很高兴尝试一下。
我的问题:
- 该程序怎么可能在某些计算机上运行而在某些计算机上却不行?
- 您会将文件放在程序文件夹以外的其他位置吗?
(对不起我的英语不好)