Не удалось загрузить .NET framework 4.0 dll из проекта .NET 6.

У меня есть проект .NET 6, и я пытаюсь загрузить стороннюю dll, которая построена с помощью .NET framework 4.0, зависимости mscorelib, System.Configuration, System.Data, System.Drawing и System.Core, все версии 4.0.

Когда я запускаю метод, приложение вылетает с исключением:

System.IO.FileNotFoundException: не удалось загрузить файл или сборку «**dll, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null». Система не может найти указанный файл.

Кажется, между зависимыми сборками существует некоторый конфликт версий, но некоторые библиотеки .NET framework 2.0 работают нормально. Как решить эту проблему, если я не могу попросить dll verdor собрать новую?

вы не можете слепо ссылаться на сборки .net framework из .net (core). вы должны попытаться найти обновленные версии для сторонней библиотеки

Daniel A. White 21.11.2022 16:55

@DanielA.White, но некоторые библиотеки .net framework 2.0 могут работать, в чем разница между 2.0 и 4.0?

Lamp 22.11.2022 00:59

@Lamp: это не имеет ничего общего с 2.0 и 4.0: .NET 6 содержит некоторые классы/методы из .NET Framework 2.0 и некоторые классы/методы из .NET Framework 4.0 (и множество новых классов/методов) . Если тот, который нужен вашей библиотеке, есть, хорошо, в противном случае не повезло. Только создатель сторонней DLL может изменить используемые классы/методы.

Heinzi 22.11.2022 11:15
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
0
3
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если библиотека использует функции для .NET Framework, она не может работать в .NET Core. Если это не так, сборка до стандарта .NET позволяет ему работать на обоих. Либо:

Библиотека не может использоваться в .NET Core, и в этом случае вам не повезло.

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

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

Другие вопросы по теме