D T
D T

Reputation: 3746

Why console app can't read App.config , if run from azure web jobs?

This is my console app: enter image description here

Program.cs:

class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string test = System.Configuration.ConfigurationManager.AppSettings["BatFile"];                
                string log = @"D:\home\site\wwwroot\app_data\jobs\continuous\ConsoleApp1\log.txt";
                using (var sw = new StreamWriter(log))
                {
                    sw.WriteLine(test);
                }
            }
            catch(Exception ex)
            {
                string log = @"D:\home\site\wwwroot\app_data\jobs\continuous\ConsoleApp1\log.txt";
                using (var sw = new StreamWriter(log))
                {
                    sw.WriteLine(ex.ToString ());
                }
            }
            


        }
    }

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="BatFile" value="DB/Sample.bat"/>
    </appSettings>
</configuration>

Result can't get setting from App.config file when run azure webjobs:

enter image description here

If i run at local, it is ok. Why console app can't read App.config , if run from azure web jobs?

Upvotes: 1

Views: 273

Answers (1)

Jason Pan
Jason Pan

Reputation: 21883

You should use (.Net Framework 4.5 +)

string sValue = ConfigurationSettings.AppSettings["BatFile"];

not

System.Configuration.ConfigurationManager.AppSettings["BatFile"];  

It works for me.

enter image description here

My test code.

enter image description here

Upvotes: 1

Related Questions