Не удалось загрузить тип system runtime

Обновлено: 06.07.2024

Я пробовал следующее:

Это ошибка? Есть ли работа? Любая помощь приветствуется.

У меня была та же самая проблема, и никакие предложенные решения, которые я нашел, не работали. Мое решение для этой проблемы было: Проверьте App.config и packages.config, чтобы увидеть, совпадают ли версии.

Первоначально мой app.config содержал:

Но в этом файле packages.config:

Я изменил запись app.config, чтобы она соответствовала packages.config для newVersion:

После изменения проблема была решена.

Ниже больше не нужно, это было исправлено около VS 15.3:

Была известная ошибка в VS2017, в частности в NuGet 4.0.

Я недавно столкнулся с этой проблемой, и я попробовал много вещей, упомянутых в этой теме и других. Я добавил ссылку на пакет для "System.Runtime" помощью диспетчера пакетов nuget, исправил изменения привязки в app.config и убедился, что app.config и package.config имеют одинаковую версию для сборки. Однако проблема сохраняется.

Наконец, я удалил <dependentAssembly> depenAssembly <dependentAssembly> для сборки, и проблема исчезла. Итак, попробуйте удалить следующее в вашем app.config .

Я исправил эту ошибку, сославшись на файл NetStandard.Library и следующий файл app.config в NUnit-Project.

редактировать

Редактировать 2

Редактировать 3

Я исправил это, удалив мой app.config с

app.config был автоматически добавлен (но не нужен) во время рефакторинга

Мы обнаружили, что AutoGenerateBindingRedirects может быть причиной этой проблемы.

<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>

Я исправил свою ошибку, установив NetStandard.Library в проект unit test.

Исправление каждый раз было хромым, но эффективным: я удалил каталог проекта и перезапустил его из исходного элемента управления. Несмотря на отсутствие разницы между до и после, я смог построить проект и получить доступ к странице без каких-либо жалоб.

Впервые столкнулся с этим в проекте Unit Test после добавления MsTest V2 через Nuget. Переименование app.config (так эффективно удалив его) помогло мне.

Прочитав все вышеупомянутые посты, я до сих пор не уверен, почему, извините!

но один пакет также добавил ту же сборку, что и зависимость с другой версией:

У меня был проект с той же проблемой, я решил с изменением версии ядра dotnet с 2.2 на 2.0,
Если ваша проблема осталась, попробуйте это решение

Я попробовал все решения здесь, но безрезультатно. В конце концов я решил эту проблему, открыв новый файл csproj и вручную добавив следующий раздел:

Единственное, что я недавно изменил, - это добавление Simple Injector (через Nuget) в свой проект.

Вот трассировка стека

Первая строка всех представлений выделяется, и при наведении курсора на них появляется эта ошибка.

По мнению Мерфи, каждое такое благотворное изменение имеет по крайней мере один режим отказа, о котором никто не подумал. Похоже, что это пошло не так, когда ILMerge использовался для объединения нескольких сборок в одну, и этот инструмент использовался неправильно. Хорошая статья с отзывами, описывающая эту поломку здесь. Он ссылается на запись в блоге, описывающая ошибку. Это довольно длинная статья, но если я правильно ее интерпретирую, то неправильный параметр командной строки ILMerge вызывает эту проблему:

Что неверно. Когда вы устанавливаете 4.5 на машину, на которой выполняется сборка программы, сборки в этом каталоге обновляются с 4.0 до 4.5 и больше не подходят для целевой версии 4.0. Эти сборки действительно не должны были быть там, но были сохранены по соображениям совместимости. Правильные эталонные сборки - это эталонные сборки 4.0, хранящиеся в другом месте:

Обратите внимание, что этот режим отказа не является эксклюзивным для ILMerge, это очень распространенный случай. Любой другой сценарий, в котором эти сборки 4.5 используются в качестве эталонных сборок в проекте, ориентированном на 4.0, может потерпеть неудачу таким же образом. Судя по другим вопросам, еще один распространенный режим сбоя - это серверы сборки, которые были настроены без использования действующей лицензии VS. И с учетом того, что пакеты с множественным таргетингом можно загрузить бесплатно.

В моем случае у меня возникла проблема с использованием Microsoft.ReportViewer.WebForms. Я удалил validate = true из строки add verb в web.config, и она начала работать:

В моем случае это был Blend SDK, пропущенный на машине TeamCity. Это вызвало ошибку из-за неправильного способа разрешения сборки.

Исправлено, включив опцию публикации «Удалить все существующие файлы перед публикацией».

Я столкнулся с той же проблемой при чтении данных из базы данных Firebird. После многих часов поиска я обнаружил, что проблема была вызвана ошибкой, которую я сделал в запросе. Исправление заставило его работать отлично. Это не имело ничего общего с версией Framework

Я удалил 4.5 и переустановил 4.0, и теперь все снова работает. Не слишком впечатлен тем, что потратил на это целый день.

Я изменил целевую структуру проектов на 4.5, удалил все библиотеки NuGet, вернулся к 4.0 и повторно добавил библиотеки (пришлось использовать некоторые предыдущие версии, не зависящие от 4.5).

Я получаю следующую ошибку .

Я пробовал следующее:

Это ошибка? Есть ли обходной путь? Любая помощь приветствуется.

У меня была та же проблема, и я не нашел предлагаемых решений. Мое решение этой проблемы: проверьте App.config и packages.config, чтобы узнать, совпадают ли версии.

Первоначально мой app.config содержал:

Но файл packages.config содержал:

Я изменил запись app.config, чтобы она соответствовала packages.config для новой версии:

После изменения проблема была решена.

Я вытащил «4.3.0» из NuGet, но по какой-то причине VS настаивает на том, чтобы я ссылался на «4.1.2.0», у меня сработала аналогичная работа, только с другим номером версии . У меня была такая же проблема, как у @DavidRogers в проекте MSTest. Объединение различий между app.config и packages.config решило проблему. да, большое спасибо ! Это было решение для моего MSTest, который не нашел тестов [MSTest][Discovery] Failed to discover tests from assembly Reason:Could not load file or assembly 'System.Reflection, Version=4.1.1.0 etc Решение сработало для меня. Проблема началась после установки HtmlAgilityPack NUGET. И не запускался из-за неправильной информации о версии в пакетах. +1

Приведенное ниже больше не нужно, оно было исправлено около VS 15.3:

Был известная ошибка VS2017 , особенно в NuGet 4.0.

NuGet 4.x приносит с собой «ссылку на пакет» - больше никаких пакетов.config, - но старый конвейер 4.x не был полностью обновлен на момент запуска VS2017. Приведенный выше фрагмент, кажется, «разбудит» систему сборки для правильного включения ссылок на пакеты из зависимостей.

Какое обновление Visual Studio 17? Можете указать версию? У меня все еще проблема в 15.5.5 VS2017. Похоже, есть и другие причины.

Я недавно столкнулся с этой проблемой, и я пробовал много вещей, упомянутых в этой и других ветках. Я добавил ссылку на "System.Runtime" пакет для диспетчера пакетов nuget, исправил повторные привязки app.config и убедился, что app.config и package.config для сборки используется та же версия. Однако проблема не исчезла.

Наконец-то снял <dependentAssembly> бирку для сборки и проблема исчезла. Итак, попробуйте удалить следующее в вашем app.config .

Основываясь на вашем ответе, я проверил свои пакеты nuget и обнаружил, что между моими проектами требуется «Google.protobuf» (консолидация), Было бы полезно лучше объяснить, почему это сработает. Проблема с этим методом заключается в том, что всякий раз, когда вы обновляете какой-либо пакет nuget или добавляете новый пакет nuget, он будет добавлен снова.

Я решил эту ошибку, сославшись на NetStandard.Library и следующий файл app.config в NUnit-Project.

редактировать

Редактировать 2

Автоматическое создание переадресации привязки

В новых версиях Visual Studio (я думаю, 2017 15.8) возможно, что Studio создаст файл app.config. Просто установите флажок Автоматически создавать перенаправления привязки в Project-Properties - Application .

Редактировать 3

Я исправил это, удалив app.config с помощью

app.config был автоматически добавлен (но не нужен) во время рефакторинга

Это сработало для меня! Обязательно попробуйте это, если все остальное у вас не работает

<dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/> </dependentAssembly>

Я исправил свою ошибку, установив NetStandard.Library в свой проект модульного тестирования.

Мы обнаружили, что AutoGenerateBindingRedirects может быть причиной этой проблемы.

Замечено: один и тот же проект нацелен net45 и netstandard1.5 был успешно построен на одной машине и не был построен на другой. На машинах были установлены разные версии фреймворка (4.6.1 - успешно и 4.7.1 - неудачно). После обновления фреймворка на первой машине до версии 4.7.1 сборка также не удалась.

Загляните в это прямо сейчас в проекте модульного теста после добавления MsTest V2 через Nuget. Переименование app.config (столь эффективное его удаление) помогло мне.

но один пакет также добавил ту же сборку в зависимости от другой версии:

удаление тега «добавить сборку» из моего файла web.config решило проблему.

В app.config или web.config добавьте

Похоже, проблема возникает из-за конфликта версий между packages.config и app.config. В app.config у вас есть перенаправления привязки сборки, автоматически генерируемые функцией AutoGenerateBindingRedirects. Если этот параметр включен каждый раз, когда вы загружаете пакет nuget, он будет, помимо создания новой записи в packages.config, добавлять эту информацию о перенаправлении привязки в app.config. Какова цель этого, объясняется здесь: Перенаправление привязки сборки: как и почему?

Там вы можете прочитать, что написал пользователь @Evk:

Зачем вообще нужны привязки перенаправления? Предположим, у вас есть приложение A, которое ссылается на библиотеку B, а также на библиотеку C версии 1.1.2.5. Библиотека B, в свою очередь, также ссылается на библиотеку C, но версии 1.1.1.0. Теперь у нас конфликт, потому что вы не можете загружать разные версии одной и той же сборки во время выполнения. Чтобы разрешить этот конфликт, вы можете использовать перенаправление привязки, обычно к новой версии.

Итак, БЫСТРОЕ ИСПРАВЛЕНИЕ: удалите все записи в app.config.

В моем случае, просто благодаря этому программа начала работать, но она, вероятно, будет работать только в том случае, если у вас нет конфликтов версий одной и той же сборки во время выполнения.

Последнее обновление: 06/30/2021 [Необходимое время для чтения:




Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Сведения о файле
Набор символов: Unicode
Код языка: Neutral
Флаги файлов: (none)
Маска флагов файлов: 0x003f
Точка входа: 0x7026
Размер кода: 20992
Версия сборки: 4.0.20.0

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.


Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):


Шаг 2. Если вы недавно установили приложение Cisco VPN Client Fix for Windows 8.1 and 10 (или схожее программное обеспечение), удалите его, затем попробуйте переустановить Cisco VPN Client Fix for Windows 8.1 and 10.

Чтобы удалить программное обеспечение Cisco VPN Client Fix for Windows 8.1 and 10, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):

После полного удаления приложения следует перезагрузить ПК и заново установить Cisco VPN Client Fix for Windows 8.1 and 10.

Cisco VPN Client Fix for Windows 8.1 and 10 3.6

Шаг 3. Выполните обновление Windows.


Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

Читайте также: