|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Это не вопрос, поскольку причина мне ясна. Но не понимаю, почему это возможно в принципе? Была жила программа - .net4 + несколько библиотечных ассембликов (в зависимостях прописаны). Я ее обновил, в т.ч библиотеки были перекомпилированы без изменений (и исходников и, кажется, компилятора с точностью до сервис пака). Но при обновлении, один из ассембликов (.dll) забыли скопировать и обновить. Итого, программа запускается, но вылетает. В журнале виндовс - что то типа IOError - file not found, но в стектрейсе который в этом же сообщении, вызов идет из необновленного ассемблика. Т.е он загрузился, но работать по нормальному отказался. Что еще за ещтвоюмедь ?? ИМХО, если ассемблик по версии не годится - ругнулось бы при его загрузке/линковке. А если годится - то должно было отработать без проблем. Это DLLhell в реинкарнации ? Копии до/после обновления я снял, если не забыл до обновы - возможно, получится воспроизвести. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2018, 23:58 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Siemargl, Это недостаток знаний, а не путанница. Легко исправить, читайте: https://docs.microsoft.com/ru-ru/dotnet/framework/app-domains/create-and-use-strong-named-assemblies ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 00:30 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
hVostt, читал эту хрень уже давно, какие противоречия ты видишь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 00:43 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
SiemarglhVostt, читал эту хрень уже давно, какие противоречия ты видишь ? Противоречия в ожиданиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 00:59 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Siemargl, Если нужно, чтобы программа работала только с конкретными сборками конкретных версий, нужно это обеспечивать. В теории, в рамках мажорной версии, должна обеспечиваться обратная совместимость. Ещё сюда же напрашивается вопрос деплоя. Как это «забыли длл обновить»? Руками что ли всё делается? Ну.. это не хорошо, сетовать на некий «hell» очень неправильно, если не обеспечиваешь адкеватные и автоматизированные механизмы сборки и деплоя. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 01:03 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
hVostt, конечно, в данном случаем обновление было руками - иначе эта проблема бы не всплыла. но непредсказуемое поведение то почему ? особенно при том, что функционал ассемблика не менялся ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 01:13 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Siemargl, В журнале виндовс - что то типа IOError - file not found я, к огромному сожалению, не телепат. что конкретно послужило причиной вашей ошибки, я не знаю. учитывая, что вместо текста ошибки вы выложили «что-то типа». ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 01:17 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
hVosttSiemargl, В журнале виндовс - что то типа IOError - file not found я, к огромному сожалению, не телепат. что конкретно послужило причиной вашей ошибки, я не знаю. учитывая, что вместо текста ошибки вы выложили «что-то типа».Это неважно, ведь подмена пересобранной версией ассемблика без изменений ликвидирует проблему ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 01:22 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
SiemarglЭто неважно, ведь подмена пересобранной версией ассемблика без изменений ликвидирует проблему ну.. много доводилось подключать очень старые либы с зависимостями на старые версии библиотек, в новые проекты, где библиотеки были новые. и всё прекрасно работало. поэтому причину именно вашей ошибки мне трудно определить. возможно, что изменения всё же были. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 01:25 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Siemargl, Отчет fuslogw покажет, как всё было на самом деле. Пока что описанная картина - как в том анекдоте про "Рабинович по телефону напел". Ну, и да, хотя бы post-build events+xcopy используйте, что ли. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 08:15 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Сейчас гонял на тестовой чистой машине и 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 и падает при их отсутствии (причем мне этот Иксепшн не долетает). В общем, какое то чудо - потому что на проблемной машине, где все и началось, и клиент нужный был, и версии ассембликов одинаковые (я побайтно сравнил). Единственный вариант - побился файлик самого ассемблика. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 17:00 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
SiemarglBadImageFormatException Эта ошибка - ошибка несоответствия разрядности загружаемой сборки или нативной бибилиотеки разрядности самого приложения. Учитывая, что соглано отчету fuslogw, все сборки загрузились нормально, и тот факт, что приложение работает с ораклом, предполагаю, что вызов рвался на попытке загрузки нативных компонентов ораклового клиента (oci.dll) - к этомум моменту сами дотнетовские сборки действительно могли загрузиться вполне нормально, и уже на рантайме, а не в процессе загрузки сборок, выкинуть BadImageFormatException. Проверяйте, какой разрядности у вас сам клиент, и какой разрядности сборки, использующие ODP. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 06:40 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
SiemarglhVostt, читал эту хрень уже давно, какие противоречия ты видишь ? Чётко написал: документация от майкрософта - это беспробудная хрень, её даже читать не стоит. Полезнее руками "ассемблики" тасовать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 11:26 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
Ролг ХупинSiemarglhVostt, читал эту хрень уже давно, какие противоречия ты видишь ? Чётко написал: документация от майкрософта - это беспробудная хрень, её даже читать не стоит. Полезнее руками "ассемблики" тасовать ну понято, учебники надо читать, но проблема была не в версиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 12:39 |
|
Assembly Hell ?
|
|||
---|---|---|---|
#18+
SiemarglРолг Хупинпропущено... Чётко написал: документация от майкрософта - это беспробудная хрень, её даже читать не стоит. Полезнее руками "ассемблики" тасовать ну понято, учебники надо читать, но проблема была не в версиях. учебники и документация - это разные вещи ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 14:50 |
|
|
start [/forum/topic.php?fid=20&msg=39664948&tid=1399317]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 181ms |
0 / 0 |