Nick LaMarca Nick LaMarca - 2 years ago 152
C# Question

Accessing Constants Static Class That References App Settings Config File

I have a class called LocalConstants....

public static class LocalConstants {
public static string DM_PATH = ConfigurationManager.AppSettings["DMQueue"];
public static string PROJECT_PATH = ConfigurationManager.AppSettings["MSQueue"];

When trying to access this class in my main program I am getting a null reference exception. Anything from ConfigurationManager.AppSettings[ is always null. But if I write

//The value is returned fine
string bo=ConfigurationManager.AppSettings["MSQueue"];

this compiles fine but is always null and throws a NullRefexception

string moomoo = LocalConstants.PROJECT_PATH;

The exception is
The type initializer for 'TestCodeOutOnSide.LocalConstants' threw an exception.

The innerException is the basic
Object reference not set to an instance of an object.

Even if I change the PROJECT_PATH to

public static readonly string PROJECT_PATH = @"FORMATNAME:DIRECT=OS:serus-nickl\RMQDEV";

I get the same exception

Any ideas?

Answer Source

I called this

public static string Environment = AppEnvironmentVariable.ToUpper() != "PROD" ? "***FROM " + AppEnvironmentVariable.ToUpper() + "** " : "";

Before this

public static string AppEnvironmentVariable = "DEV";

In the LocalConstants file which broke it because of what Josh said about Static field initialization

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download