On Sun, Nov 04, 2007 at 11:38:42PM +0500, Andrey Rahmatullin wrote: > Я почитал умных книжек и понял, что неверно всё это дело понимал. > Во-1-х, Рихтер явно рекомендует выносить "1.0.*" из AssemblyInfo.cs и > писать честные версии. > Во-2-х, версии для библиотек в GAC, _кроме стандартных_ > (mono/metadata/assembly.c::framework_assemblies[]) проверяются целиком. > Версии для библиотек не в GAC (т.е. локальных) не проверяются вообще. У меня пока появилась такая идея: писать Requires на эти стандартные библиотеки с двумя цифрами, а Provides в двух штуках -- как с двумя, так и с четырьмя цифрами. Т.е. Requires: mono(mscorlib) = 1.0 Provides: mono(mscorlib) = 1.0 Provides: mono(mscorlib) = 1.0.5000.0 Кстати, сейчас уже есть хак в зависимостях на тему "неподходящих черырех цифр" у стандартных *.dll файлов. /usr/lib/rpm/mono.req: 73 # Allow rpm deps to be resolved for 1.0 profile version 74 if (VERSION=="1.0.3300.0") 75 OP=">=" 76 else 77 OP="=" Это код из mono-*/scripts/mono-find-requires.in. Хак это потому что зависимость ">=" здесь неправильная, просто по смыслу требуется усечение точности.