I'm running into a problem here where a static constructor of one of my classes is being called before it should be. (I.e, DI/IoC isn't set up and it's getting null/exceptions back from the service locator).
I unfortunately don't have a lot of control over the static constructor, don't ask me why it's relying on DI/IoC to be set up, but it is.
In my app, nothing should be referencing this class static or otherwise before my IoC is ready to go, but the static constructor is executing anyway.
Is there an easy way to determine what line caused the constructor to execute? Note: I cannot breakpoint in the static constructor
because this is all happening before the remote debugger for ASP.NET can attach to the web server (in Global.asax.cs)
You have no control as to when the static constructor is executed. Move whatever you are doing from your constructor to a static Initialize() function. Call that one whenever you are ready. Do not depend on when the static constructor is executed.
Check this link