powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Assembly Hell ?
15 сообщений из 15, страница 1 из 1
Assembly Hell ?
    #39664948
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не вопрос, поскольку причина мне ясна.
Но не понимаю, почему это возможно в принципе?

Была жила программа - .net4 + несколько библиотечных ассембликов (в зависимостях прописаны). Я ее обновил, в т.ч библиотеки были перекомпилированы без изменений (и исходников и, кажется, компилятора с точностью до сервис пака).

Но при обновлении, один из ассембликов (.dll) забыли скопировать и обновить.

Итого, программа запускается, но вылетает. В журнале виндовс - что то типа IOError - file not found, но в стектрейсе который в этом же сообщении, вызов идет из необновленного ассемблика. Т.е он загрузился, но работать по нормальному отказался.

Что еще за ещтвоюмедь ??

ИМХО, если ассемблик по версии не годится - ругнулось бы при его загрузке/линковке. А если годится - то должно было отработать без проблем. Это DLLhell в реинкарнации ?

Копии до/после обновления я снял, если не забыл до обновы - возможно, получится воспроизвести.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664958
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

Это недостаток знаний, а не путанница.

Легко исправить, читайте: https://docs.microsoft.com/ru-ru/dotnet/framework/app-domains/create-and-use-strong-named-assemblies
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664964
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

читал эту хрень уже давно, какие противоречия ты видишь ?
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664968
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglhVostt,

читал эту хрень уже давно, какие противоречия ты видишь ?

Противоречия в ожиданиях.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664969
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

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

В теории, в рамках мажорной версии, должна обеспечиваться обратная совместимость.

Ещё сюда же напрашивается вопрос деплоя. Как это «забыли длл обновить»? Руками что ли всё делается? Ну.. это не хорошо, сетовать на некий «hell» очень неправильно, если не обеспечиваешь адкеватные и автоматизированные механизмы сборки и деплоя.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664976
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

конечно, в данном случаем обновление было руками - иначе эта проблема бы не всплыла.

но непредсказуемое поведение то почему ?
особенно при том, что функционал ассемблика не менялся
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664978
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

В журнале виндовс - что то типа IOError - file not found

я, к огромному сожалению, не телепат. что конкретно послужило причиной вашей ошибки, я не знаю. учитывая, что вместо текста ошибки вы выложили «что-то типа».
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664982
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttSiemargl,

В журнале виндовс - что то типа IOError - file not found

я, к огромному сожалению, не телепат. что конкретно послужило причиной вашей ошибки, я не знаю. учитывая, что вместо текста ошибки вы выложили «что-то типа».Это неважно, ведь подмена пересобранной версией ассемблика без изменений ликвидирует проблему
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39664983
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЭто неважно, ведь подмена пересобранной версией ассемблика без изменений ликвидирует проблему

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

поэтому причину именно вашей ошибки мне трудно определить. возможно, что изменения всё же были.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39665024
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

Отчет fuslogw покажет, как всё было на самом деле. Пока что описанная картина - как в том анекдоте про "Рабинович по телефону напел".
Ну, и да, хотя бы post-build events+xcopy используйте, что ли.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39665467
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Сейчас гонял на тестовой чистой машине и fuslogw не помог - по его данным, кроме .resources (которых и правда нет) - все загрузилось замечательнейшим образом.

В журнале событий такое (причем на win7 и win8 разные сообщения)
Win8Сведения об исключении: System.BadImageFormatException
в моясофтинка.DataAccessLayer.CreateDatabaseObject(System.String)
в моясофтинка.DataAccessLayer..ctor(System.String)
в моясофтинка.MainWindow.MainWindow_Loaded(System.Object, System.Windows.RoutedEventArgs)

и доп.событие
Контейнер ошибки , тип 0
Имя события: CLR20r3
Отклик: Нет данных
Идентификатор CAB: 0

Сигнатура проблемы:
P1: моясофтинка.exe
P2: 1.0.0.0
P3: 595371f1
P4: моясофтинка
P5: 1.0.0.0
P6: 595371f1
P7: 81
P8: e
P9: System.BadImageFormatException
P10:


Win7Stack:
at EntLibContrib.Data.OdpNet.OracleDatabase..ctor(System.String)
at моясофтинка.DataAccessLayer.CreateDatabaseObject(System.String)
at моясофтинка.DataAccessLayer..ctor(System.String)

и доп.событие
Контейнер ошибки , тип 0
Имя события: CLR20r3
Ответ: Нет данных
Идентификатор CAB: 0

Сигнатура проблемы:
P1: моясофтинка.exe
P2: 1.0.6388.21840
P3: 595371f1
P4: Oracle.DataAccess
P5: 4.112.3.0
P6: 5040bb7d
P7: 767
P8: cd
P9: Oracle.DataAccess.Client.Oracle
P10:

Oracle.DataAccess.dll (про который Win8 вообще промолчала) - каким то особым образом, невидимым для fuslogw (скорее всего это уже неуправляемый код), пытается подгрузить клиентские dll и падает при их отсутствии (причем мне этот Иксепшн не долетает).

В общем, какое то чудо - потому что на проблемной машине, где все и началось, и клиент нужный был, и версии ассембликов одинаковые (я побайтно сравнил). Единственный вариант - побился файлик самого ассемблика.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39665677
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglBadImageFormatException
Эта ошибка - ошибка несоответствия разрядности загружаемой сборки или нативной бибилиотеки разрядности самого приложения. Учитывая, что соглано отчету fuslogw, все сборки загрузились нормально, и тот факт, что приложение работает с ораклом, предполагаю, что вызов рвался на попытке загрузки нативных компонентов ораклового клиента (oci.dll) - к этомум моменту сами дотнетовские сборки действительно могли загрузиться вполне нормально, и уже на рантайме, а не в процессе загрузки сборок, выкинуть BadImageFormatException. Проверяйте, какой разрядности у вас сам клиент, и какой разрядности сборки, использующие ODP.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39667031
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglhVostt,

читал эту хрень уже давно, какие противоречия ты видишь ?

Чётко написал: документация от майкрософта - это беспробудная хрень, её даже читать не стоит.
Полезнее руками "ассемблики" тасовать
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39667082
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинSiemarglhVostt,

читал эту хрень уже давно, какие противоречия ты видишь ?

Чётко написал: документация от майкрософта - это беспробудная хрень, её даже читать не стоит.
Полезнее руками "ассемблики" тасовать ну понято, учебники надо читать, но проблема была не в версиях.
...
Рейтинг: 0 / 0
Assembly Hell ?
    #39667196
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglРолг Хупинпропущено...


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

учебники и документация - это разные вещи
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Assembly Hell ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]