Я делаю приложение, которое строит отчет в LibreOffice Calc, используя библиотеки LO SDK от версии 3.6. Эти DLL - .NET 2.0, afaik, а мое приложение - .NET 3.5, поэтому он отлично работает.Приложения, пытающиеся загрузить dll из своей папки
Но когда я запускаю приложение на ПК, где установлен LO 4.0, похоже, что он пытается загрузить DLL-файлы не из папки приложения (где правильные DLL-файлы скопированы), а откуда-то на главном ПК, поскольку он выдает исключение " Эта сборка построена с использованием среды выполнения, более новой, чем текущая загруженная среда выполнения, и не может быть загружена "при загрузке cli_uno.dll (когда я пытаюсь запустить отчет). Похоже, DLL DL 4 SDK собраны для .NET 4.0?
Ну, это не вариант для восстановления приложения для .NET 4.0 (так как он будет повторяться, когда появятся новые DLL-файлы .NET 5.0).
Есть ли способ загрузить приложения DLL-файлы из своей собственной папки?
UDPATE Это приложение cli_uno.dll действительно не включено в мое приложение. Он находится в папке установки LO и явно вызывается этими файлами cli _ *. Dll, которые я включил в свое приложение. Но я не могу контролировать, какая версия LO будет установлена! Он просто выходит из-под контроля любыми настройками конфигурации. Это просто неправильно, когда приложение работает нормально с LO 3.6, но перестает работать после обновления до LO 4.0. Серьезно, я сделал приложения в древнем Delphi 7, используя древние библиотеки, чтобы подключиться к MS Excel (который был создан, когда версии XP/2000 были действительными), и отлично работает с версией по меньшей мере на 2007 год.
Не предполагается ли использование интерфейсов для приложений разных версий и даже разных платформ, чтобы взаимодействовать, обмениваться данными между ними? Может быть, я использую LO SDK совершенно неправильно?
Возможный дубликат? http://stackoverflow.com/questions/267693/how-can-i-force-net-to-use-a-local-copy-of-an-assembly-thats-in-the-gac –
Похоже, я Посмотрим, спасибо. – yaapelsinko
Как я вижу сейчас, он не контролирует настройки версии сборки приложения - это «cli_uno.dll» не является частью моего приложения, а LO установка, и он вызвал мое приложение. Я обновляю вопрос. – yaapelsinko