C# 无法读取app.config中的密钥

C# 无法读取app.config中的密钥,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我的程序无法读取app.config文件中的密钥,如下所示: <appSettings> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" /> <add key="webpages: Version" value="2.0.0.0" /> <add key="webpages:Enabled"

我的程序无法读取app.config文件中的密钥,如下所示:

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" />
  <add key="webpages: Version" value="2.0.0.0" />
  <add key="webpages:Enabled" value="false" />
  <!--Email settings-->
  <add key="TOADDRESS" value="myMail@host.com" />
  <add key="PASSWORD" value="password" />
  <add key="SMTPHOST" value="asmtp.host.com" />
  <add key="SMTPPORT" value="587" />
  <!--End email settings-->
</appSettings>
public PartialViewResult SendMail(EmailModel model)
    {
        string host = ConfigurationManager.AppSettings.Get("SMTPHOST");
        int port = Convert.ToInt16(ConfigurationManager.AppSettings.Get("SMTPPORT"));
        string receiver = ConfigurationManager.AppSettings.Get("TOADDRESS");
        string password = ConfigurationManager.AppSettings.Get("PASSWORD");

        SmtpClient smtp = new SmtpClient(host, port);
        smtp.Credentials = new NetworkCredential(receiver, password);
        smtp.EnableSsl = true;

        MailMessage mailMsg = null;            

        try
        {
            mailMsg = new MailMessage(model.from, receiver, model.subject, model.body);
            smtp.Send(mailMsg);
        }
        catch (Exception ex)
        {
            SendErrorMail();
        }

        return PartialView("_About");
    }
我也尝试过使用花括号,比如:
stringhost=ConfigurationManager.AppSettings[“SMTPHOST”]但这也不起作用。
但是,如果我在C代码中硬编码这些值,而不使用App.Config,它就可以正常工作

我做错了什么


我收到一个错误,说找不到smtp主机。如果我手动输入smtphost,我会在其他值上得到一个异常,作为
到地址
等的空引用。我会在App.Config中的所有值/键上得到一个空引用。这看起来是正确的。你收到错误了吗?是的,很抱歉。我编辑了我的postASP.NET使用的是web.config,而不是app.config您使用的是vs代码吗?或vs