Foo.Cryptography и Foo.Bar находятся в одной и той же dll? Похоже, проблема зависимости, как будто он просто не может найти DLL на жестком диске, который содержит Foo.Bar.
Редактировать: Хорошо, вышеизложенное, очевидно, не проблема ...
Вероятно, класс, который вы используете в инициализаторе, требует зависимости, которой нет на рабочей машине ... Я ничего не вижу в вашем коде, но, возможно, это та часть, которую вы пропустили. Я бы предположил, что у вас есть полный .net Framework, загруженный на производственную машину. Используете ли вы какие-либо объекты в той части кода, которую вы пропустили, которая будет прямо или косвенно вызывать код из любых других внутренних или сторонних библиотек?
Другое редактирование: На самом деле я не думаю, что код в той части, которую вы пропустили, мог вызвать эту ошибку, потому что он не должен запускаться автоматически при инициализации класса. Вы уверены, что нет никакого другого кода, который вы пропускаете? Я не вижу здесь ничего, что могло бы стать причиной такого исключения.
Это выглядит как "приватный статический байт [] aes256Key = null;" является единственной линией, способной вызвать это исключение, но я думаю, что совершенно ясно, что эта строка не собирается этого делать.