System typeinitializationexception инициализатор типа system windows application выдал исключение
Необработанное исключение типа "Исключение System.TypeInitializationException" произошло в EntityFramework.dll
Дополнительная информация: инициализатор типа для "System.Data.Entity.Internal.AppConfig" сделал исключение.
Вот полная трассировка ошибок:
Вот файл App.config:
Вот файл packages.config:
Как вы получили трассировку ошибок? Мне нужно увидеть одну для аналогичной проблемы, которую я имею, но не могу найти ее.Разрешен только один элемент <configSections> config, и если он должен быть первым дочерним элементом корневого элемента <configuration> .
Переместите элемент configSections в начало - чуть выше, где находится system.data.
Проверьте, какая версия ссылки Entity Framework у вас есть в ваших ссылках и убедитесь, что она соответствует вашему файлу configSections node в Web.config . В моем случае это указывало на версию 5.0.0.0 в моих конфигурациях, и моя ссылка была 6.0.0.0. Я просто изменил его, и он сработал.
У меня была эта проблема, когда я ссылался на проект библиотеки из консольного приложения, и проект библиотеки использовал пакет nuget, который не упоминался в консольном приложении. Ссылка на тот же пакет в консольном приложении помогла решить эту проблему.
Видя Внутреннее исключение, может помочь.
Убедитесь, что в вашем проекте указана правильная версия. Например. DLL, на которую он жалуется, может быть из более старой версии и что может быть несоответствие версии.
Просто перейдите в Web.Config из Main , а не в папку Views Папка:
раздел name="entityFramework" type="System.Data. . Version=" <strong>5</strong>.0.0.0"..
НАСТРОЙКА ВЕРСИИ EntityFramework, которую вы установили, например. как Версия 6.0.0.0 "
В статическом классе, если вы получаете информацию из xml или reg, класс пытается инициализировать все свойства. поэтому вы должны контролировать, есть ли переменная конфигурации, иначе свойства не будут инициализированы таким классом.
Проверить переменную refer xml есть, Проверить переменную референтной переменной есть, Убедитесь, что вы работаете, если их там нет.
Контекст
Ссылки
Другое возможное соединение может быть с распространяемым Visual С++ 2005.
спросил(а) 2011-01-31T18:57:00+03:00 10 лет, 9 месяцев назадНе проблема, которую многие ожидают, но это возможно.
ответил(а) 2014-04-04T17:05:00+04:00 7 лет, 7 месяцев назадВы смотрите на недра PresentationCore, код написанный на С++/CLI. Имя <Module> - это имя класса для всех глобальных функций С++/CLI. Он бомбит рано, сразу после загрузки сборки инициализатор модуля вышел из строя. Точная работа, выполняемая LoadWpfGfx(), не документирована нигде, что я знаю, но ее можно легко догадаться. Он загружает неуправляемую DLL, которая реализует графический интерфейс, возможно, интерфейс интерфейса DirectX.
ответил(а) 2011-01-31T21:09:00+03:00 10 лет, 9 месяцев назадЭто давало мне головную боль в течение нескольких месяцев.
Мой код был создан с использованием Oxygene Pascal-компилятора, полностью интегрированного с VS 2012. TypeInitializationException происходит, когда..cctor не выполняет свою работу каким-то образом.
ОК, это библиотека классов
1. Я написал библиотеку классов в CS ToolboxCS.cs
2. Я написал ту же библиотеку классов в Oxygene ToolboxPAS.pas
3. One ToolboxCS запускается удаленно, а ToolboxPAS не удаляется удаленно
4. позволяет увидеть два кода
4a)
4b) образец Oxygene
Затем я взял ILSpy.exe, чтобы посмотреть на сгенерированный код и обнаружил, что код дизассемблирования в CS тот же. Но, смотря с помощью ILSPy.exe на сборке двух примеров, я мог видеть много различий, некоторые из них не имели никакого эффекта, но тот, что показан ниже, был убийцей моего класса Oxygene ToolboxPAS.pas, когда он должен запускаться на IIS 7.5 → w3wp.exe → xyxyxyxyxy.dll → ToolboxPAS.dll
Другими словами, если вы выполните сборку отладки, ваш код cs не будет показывать сборку с этими атрибутами в файле информации о сборке. Но вы увидите, что эти атрибуты сгенерированы и используются в поиске с помощью ILSpy.exe в сгенерированную DLL.
И после того, как я добавил эти атрибуты в свой файл ToolboxPAS.pas Assembly Info (как показано выше) для сборки отладки, он больше не увеличивал значение InitializationException при вызове для доступа к простой переменной в нем.
Так как я изменил это во всех файлах информации о сборке для моих больших библиотек DLL-классов (12 DLL), они запускают все как sniff при развертывании на удаленном веб-сервере IIS 7.5 в качестве веб-службы WCF-сайта.
когда я строю проект, у него нет ошибки. Но когда я его выполняю, он всегда прерывается.
Я попытался отладить проект, но система.Ошибка TypeInitializationException произошла в первой строке.
Я уже пытался погуглить, но не нашел решения.
похоже, что любая переменная инициализирует код неправильно, но не может его найти.
※ здесь класс Лесопогрузчика Код
когда TypeInitializationException выбрасывается, проверьте всю логику инициализации типа, на который вы ссылаетесь в первый раз в инструкции, где выбрасывается исключение - в вашем случае: Logger .
логика инициализации включает в себя: статический конструктор типа (который-если я его не пропустил-вы делаете не для Logger ) и инициализации поле.
инициализация поля в значительной степени "некритична" в Logger за исключением следующих строки:
s_commonAppData is null в том месте, где Path.Combine(s_commonAppData, "XXXX"); называется. Насколько мне известно, эти инициализации происходят в точно заказ ты им написал - так Положи s_commonAppData вверх по крайней мере на две строки;)
System.TypeInitializationException происходит, когда код, который выполняется в процессе загрузки типа бросает исключение.
в вашем конкретном случае следующие три статических поля запускают некоторый код:
эти строки являются вашей проблемой (или, по крайней мере,один ваших проблем, если их больше):
вы ссылаетесь на некоторые статические члены в другие инициализаторы для статических членов. Это плохая идея, так как компилятор не знает, в каком порядке их инициализации. В результате во время инициализации s_bstCommonAppData зависимые поля s_commonAppData еще не инициализирован, поэтому вы вызываете Path.Combine(null, "XXXX") и этот метод не принимает значение null аргументы.
или используйте статический конструктор для явного заказа назначений:
i. Пожалуйста, проверьте InnerException свойства TypeInitializationException
ii. Кроме того, это может произойти из-за несоответствия между версиями сборок во время выполнения. Проверьте версии выполнения основной сборки (вызывающее приложение) и указанной сборки
суть в том, что проблемы в приложении.config может генерировать это очень вводящее в заблуждение TypeInitializationException .
более значимую ConfigurationErrorsException смогите быть произведено такой же ошибкой в приложение.config, ожидая доступа к значениям config, пока вы не окажетесь внутри метода, а не на уровне класса кода.
Я знаю, что это немного старый вопрос, но у меня недавно была эта ошибка, поэтому я думал, что передам свое решение.
когда я начал старый проект после обновления до Framework 4.5.1, я получил исключение TypeInitializationException. сразу. даже не в состоянии пройти через одну строку кода.
после создания бренда новый проект wpf для тестирования, я обнаружил, что новое приложение.Файл конфигурации хочет следующее.
Как только я бросил это, я был в бизнесе.
обратите внимание, что ваши потребности могут немного отличаться. Я бы создал фиктивный проект, проверил сгенерированное приложение.Config файл и посмотреть, если у вас есть что-то еще отсутствует.
надеюсь, это кому-то поможет. Удачи В Кодировании!
Если у вас есть пользовательские атрибуты в appsetting. переместить
тег для первого ребенка в <confuguration> .
на TypeInitializationException который создается как оболочка вокруг исключения, создаваемого инициализатором класса. Этот класс не может быть унаследован.
TypeInitializationException также называется статическими конструкторами.
у меня есть ошибка системы.typeintialzationException, что связано с тем, когда я пытался переместить файл, как:
эта ошибка была вызвана тем, что я поменял путь на самом деле, правильный:
была simular проблема получения того же исключения. Потребовалось некоторое время. В моем случае у меня был статический служебный класс с конструктором, который вызвал исключение (завернув). Итак, моя проблема была в статическом конструкторе.
все работало нормально, пока я не выполнила версии кода и после этого я получил эту ошибку - даже на старых версиях кода. Как только я вытащил переменную из предложения DEBUG, все вернулось в нормальное состояние.
System.TypeInitializationException - тип необработанного исключения, инициализатор типа выдает исключение.
Этот вид ошибки в основном вызван проблемой с начальным назначением поля в объявленном классе.
Например, в классе живет массив размером 1024 * 1024 * 1024, и при превышении максимального лимита памяти произойдет ошибка.
Метод модификации - проверить, не превышает ли начальное значение поля в классе ограничение памяти.
Интеллектуальная рекомендация
Поверните строку в целые числа
Тема Описание Преобразуйте строку в целое число (реализация функции integer.valueof (строка), но строка не совпадает 0), требуя функции библиотеки, которая нельзя использовать для преобразования целых.
Docker создает репликацию Redis Master-Slave
Centos установить докер быстрый старт докера Создать Dockerfile Поместите файл на сервер Linux, создайте папку / usr / docker / redis и поместите его в этот каталог Выполните следующий код в каталоге .
Установка GateOne на новом CentOS7
Установка GateOne на новом CentOS7 В последнее время исследуются такие инструменты, как WebSSH2, в настоящее время требуется встроить терминал ssh в веб-приложение и найти GateOne. GateOne - это веб-в.
Примечания к исследованию Qt4 (5), QWaitCondition of QThread Learning
Практические занятия: решения проблем системы управления обучением
Сразу после получения задания будет много трудностей и много проблем. Хорошо иметь проблему, а это значит, что вы можете получить новые знания. Неважно, есть ли проблемы, ключ в том, как их решить. пр.
Вам также может понравиться
искробезопасная практика (5) обратный индекс
задний план Поисковые системы обычно создают инвертированный индекс ключевых слов. Ключевое слово - индекс, за которым следуют веб-страницы, содержащие ключевое слово. На этот раз, используя данные мо.
Решение центра тяжести неправильного многоугольника
Справочник статей Во-первых, решение центра тяжести неправильных многоугольников 1.1 Метод расчета треугольника центра тяжести 1.2 Метод расчета площади треугольника 1.3 Метод расчета площади полигона.
Читайте также: