monodevelop настаивает на использовании ссылки, которая не работает

Я использую MonoDevelop 2.2 из тестового репозитория Debian. Я установил надстройки для поддержки GTK для версий 2.8 и 2.10. Когда я компилирую свое решение, я получаю предупреждения о том, что
Warning: Assembly 'glade-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f' not found. Make sure that the assembly exists in disk. If the reference is required to build the project you may get compilation errors. (ProCos)

Предупреждение совершенно нормально, потому что установленные библиотеки не предлагают V2.10 Glade-Sharp. Итак, я открываю диалоговое окно ссылок, удаляю ссылку и вставляю ссылку на V2.8 Glade-Sharp (которая существует). Закройте справочное диалоговое окно и перекомпилируйте. И бах, то же самое предупреждение, и ссылка была изменена обратно на V2.10.

У кого-нибудь есть идеи, как это исправить? Или это известная ошибка в этой версии MonoDevelop?


person wolfgangsz    schedule 19.08.2010    source источник


Ответы (1)


Если вы используете поддержку версий GTK, все сборки, связанные с GTK, должны иметь одну и ту же версию. Подозреваю, что если gtk-sharp.dll 2.10, то и MD "починит"glade-sharp до 2.10. В параметрах проекта есть раскрывающийся список для выбора версии GTK; используя это, вы обновите все сборки GTK до определенной версии.

Также обратите внимание, что вы можете использовать панель проекта, чтобы установить ссылку, не требующую конкретной версии.

Я предлагаю попробовать MD 2.4, и если это все еще проблема, отправьте отчет об ошибке.

person Mikayla Hutchinson    schedule 29.08.2010
comment
В прошлый раз, когда я пытался скомпилировать monodevelop и все библиотеки из исходников, мне потребовалось несколько дней, чтобы заставить его работать. Я установил все это из тестового репозитория Debian. Интересно, что случилось с блестящей библиотекой соответствующей версии. Плюс: я пытался установить эту опцию, она не работает. Каждый раз, когда я смотрю на него, он сбрасывается, независимо от того, как часто я его устанавливаю. Итак, скажите мне, каковы мои шансы на компиляцию без каких-либо проблем в настоящее время? - person wolfgangsz; 01.09.2010
comment
Хм, поковырявшись с этим, обнаружил, что у меня есть /usr/lib/cli/glade-sharp-2.0/libgladesharpglue-2.so, который, согласно различным файлам политик, должен распознаваться как библиотека, представляющая Glade-Sharp 2.10. Не могли бы вы указать, какие ссылки и политики должны быть на месте, чтобы это работало? - person wolfgangsz; 01.09.2010
comment
Во-первых, для Mono 2.4+ требуется Mono 2.6+. Это несложно собрать, но я бы порекомендовал пакеты. В Debian Experimental есть пакеты для обоих. Сборка из исходного кода не составит для вас труда. Если вы собираете из исходного кода, выполните установку параллельной среды: mono- project.com/Parallel_Mono_Environments, mjhutchinson.com/journal/2007/11/ 08/how_not_break_mono - person Mikayla Hutchinson; 01.09.2010
comment
libgladesharpglue-2.so — это деталь реализации собственного кода Glade-Sharp, используемого для доступа к libglade. Что-то, на что следует обратить внимание в Debian, это то, что Debian разбивает пакеты Mono на множество крошечных, крошечных пакетов, например. libglade2.0-cil — но Glade-Sharp на самом деле является частью GTK# — поэтому разработчики Debian часто обнаруживают, что им не хватает вещей, которые обычно должны существовать вместе. Ваш реальный GTK# должен быть v 2.12, то есть также Glade# 2.12. - person Mikayla Hutchinson; 01.09.2010
comment
GTK# (& Glade# и т.д.) v 2.10 и 2.8, установленные через диспетчер надстроек MD, являются просто заглушками, поэтому вы можете создавать двоичные файлы против более старых версий. Они используются только во время компиляции — MD устанавливает их где-то в ~/.config/MonoDevelop/addins/ — и во время выполнения они будут перенаправлены на 2.12. Итак, возможно, надстройка MD GTK# 2.10 для MonoDevelop 2.2 содержит ошибки. Но у нас нет ресурсов для активной поддержки старых версий MD, поэтому я предложил вам попробовать 2.4. - person Mikayla Hutchinson; 01.09.2010