Test.Program 的类型初始值设定项抛出异常

The type initializer for Test.Program threw an exception

在一个 .net5.0 项目中,我试图从 txt 文件中读取所有邮件,它在半小时前工作,但突然当我更改一些名称以便更好地理解时它停止工作。 我从 app.config 文件中读取了 txt 文件位置,这是配置: [![在此处输入图片描述][1]][1]

我阅读的关键是 LokacijaExportanihMailAdresa。 这是 app.config;

中的关键
<add key="LokacijaExportanihMailAdresa" value="txt_docs\Mailovi.txt"

这是我用来读取 txt 文件的代码:

class Program
    {
        public static int i = 0;
        public static Timer aTimer = new Timer(Int32.Parse(ConfigurationManager.AppSettings.Get("VrijemeUMiliSekundama")));
        public static string lokacijaMailova = ConfigurationManager.AppSettings.Get("LokacijaExportanihMailAdresa");
        public static string posiljatelj = ConfigurationManager.AppSettings.Get("Posiljatelj");
        public static string subjekt = ConfigurationManager.AppSettings.Get("Predmet");
        public static string putanjaDoPoruke = ConfigurationManager.AppSettings.Get("Poruka");
        public static int imaPrivitak = Int32.Parse(ConfigurationManager.AppSettings.Get("ImaAttachment"));
        public static string putanjaDoPrivitka = ConfigurationManager.AppSettings.Get("Privitak");
        public static string smtpServer = ConfigurationManager.AppSettings.Get("SmtpServer");

    static void Main(string[] args)
    {
        var logger = NLog.LogManager.GetCurrentClassLogger();

        logger.Info("Aplikacija je pokrenuta");

        var mailovi = File.ReadAllLines(lokacijaMailova);

        aTimer.Elapsed += (sender, e) => OnTimedEvent(sender, e, logger, mailovi, i++);

        aTimer.Start();
        Console.ReadKey();
    }

}

这是错误:

2021-11-09 13:23:01.6441|Error|MailServis.Program|System.TypeInitializationException: The type initializer for 'MailServis.Program' threw an exception.
 ---> System.ArgumentNullException: Value cannot be null. (Parameter 's')
   at System.Int32.Parse(String s)
   at MailServis.Program..cctor() in C:\Users\djcumbaj\source\repos\MailServis\Program.cs:line 21
   --- End of inner exception stack trace ---
   at MailServis.Program.Main(String[] args) in C:\Users\djcumbaj\source\repos\MailServis\Program.cs:line 32 | 

但在我将路径直接放入 File.ReadAllLines 后,它会读取文件,但接下来发生的事情是,当我的意思相同时,计时器会抛出相同的异常,它完全相同。 提前谢谢你。

您调用 ConfigurationManager.AppSettings.Get("ImaAttachment") 但您在 appSettings 中有 ImaPrivitak