To answer your question, all Static members can be evaluated when the first class reference happens. (this is an understatement and over simplification) It depends on .NET version, presence of Static constructors, Lazy variables etc. but in this it looks like you may be hitting the issue, where the first reference to a member also initializes other members and one of that causes the exception.
for the error, inspect the InnerException property of a type initializer exception to get the details of the exact error. It is the best indication of the error.