On Fri, Nov 09, 2007 at 11:23:35AM +0600, Ildar Mulyukov wrote: > > > 1. Значащие цифры для ABI - первые две (Major.Minor). Это - строгое > > > требование. > > Баян. > Я рад, что это всем уже понятно. Хотя судя по тому, какие выводы сделал > Алексей, тут ещё надо разъяснять. :-( Я не вижу, как эти рекомендации помогут в простановке зависимостей. Зависимости должны отражать _достаточное_ для запуску программы. В данном случае это fully qualified имя сборки из .assembly, включающее все 4 цифры версии. > > > 2. /Желательно/ учитывать последние две при (динамической) линковке. > > Не понял, что в данном случае названо динамической линковкой. > Загрузка *.dll, нужных для запуска данной программы. Загрузка производится кодом mono, как можно при этом что-то учитывать или не учитывать? > > Прошу пояснить, как предлагается бороться с тем, что при обновлении > > библиотеки не запустится ничего, с ней связанного, даже если её ABI > > не поменялся. > Можно примеры? У меня есть обратные примеры. wrar@wrars-comp ~/tmp $ >1.cs class A { public static void Main() { ByteFX.Data.Common.Connection c = new ByteFX.Data.Common.Connection(); }} wrar@wrars-comp ~/tmp $ gmcs 1.cs -r:ByteFX.Data 1.cs(1,70): warning CS0219: The variable `c' is assigned but its value is never used Compilation succeeded - 1 warning(s) wrar@wrars-comp ~/tmp $ monodis 1.exe>1.il wrar@wrars-comp ~/tmp $ subst 's,\(.*\.module\).*,\1,' 1.il wrar@wrars-comp ~/tmp $ subst 's,0:7:6:2,0:7:6:0,' 1.il wrar@wrars-comp ~/tmp $ ilasm2 1.il /exe /output:2.exe Assembling '1.il' , no listing file, to exe --> '2.exe' Operation completed successfully wrar@wrars-comp ~/tmp $ mono 2.exe ** (2.exe:349): WARNING **: The following assembly referenced from /home/wrar/tmp/2.exe could not be loaded: Assembly: ByteFX.Data (assemblyref_index=1) Version: 0.7.6.0 Public Key: 0738eb9f132ed756 -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(8): Виноват, забыл, что у меня alias xmms=beep-media-player. -- avm in devel@