Windows启动后,应用程序找不到设置或图像文件

时间:2019-03-28 08:30:11

标签: c# windows settings boot

我有一个在Windows引导后启动的应用程序。效果很好,但是应用程序似乎找不到具有设置或必要资源的必需csv文件,从而导致崩溃。但是,如果我在登录Windows帐户后手动将其打开,则该应用程序可以正常运行。

我试图检查csv文件是否确实存在,但是如上所述,应用程序找不到它。由于csv文件包含一些设置和语言数据,因此如果找不到该文件,则该应用程序将无法运行

在读取csv文件之前,请执行以下操作检查文件是否存在:

     try {
        string langFile = Path.Combine(Settings.Default.WorkingDirectory, "languageSupport.csv"); //Get language file
        // Read out the file
    } catch {
        MessageBox.Show("Could not load settings data!");
        Console.WriteLine("Error occured: " + e.Message);
    }

此外,我认为没有必要注意以下几点:仅在计算机关闭至少几个小时后才会发生此错误。几分钟后重新启动或关闭PC并重新打开,不会出现错误。

我该怎么做才能改善这一点?为什么它会在自动启动时崩溃而不是在我手动启动时崩溃?

1 个答案:

答案 0 :(得分:1)

这是因为,当自动加载工作目录时,与从.exe手动打开工作目录时,请尝试使用AppDomain.CurrentDomain.BaseDirectory来确保路径相对于您的应用程序,您也可以假设文件与应用程序位于同一目录中,请使用它指定.csv文件路径:

try {
        string langFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "languageSupport.csv"); //Get language file
        // Read out the file
    } catch {
        MessageBox.Show("Could not load settings data!");
        Console.WriteLine("Error occured: " + e.Message);
    }