2010-10-22 4 views
4

Я пытаюсь подключить небольшое консольное приложение от Windows/.NET к Ubuntu/Mono. У меня проблемы с добавлением ссылки на моно версию NLog, которую я добавил в GAC.Сборка с GAC не указана в диалоговом окне «Редактировать список изменений в Monodevelop»

Добавление NLog.dll к сборке было подтверждено: Установленный NLog.dll в GAC (/ USR/Библиотека/моно/GAC)

Я также найти его в GAC в:/USR/Lib/моно /gac/NLog/2.0.0.0__5120e14c03d0593c

Сначала я думал, что это связано с моей umask 027. Но я поменял файлы на 644 и каталоги до 755. Проблема не устранена.

Я работаю с: Ubuntu 10.04, Monodevelop 2.2.1, Mono версии 2.4.4 (Debian 2.4.4 ~ svn151842-1ubuntu4), Nlog NLog2.mono2-Beta1

Есть ли у вас какие-либо идеи?

ответ

4

Диалоговое окно «Редактировать ссылки» не отображает сборки, зарегистрированные в GAC, а сборки, зарегистрированные пакетами с использованием файла .pc. Это объясняется в MonoDevelop FAQ.

GAC - это реестр сборки, предназначенный для использования во время выполнения, а не во время разработки. Если ваше приложение зависит от другой сборки, эта сборка должна быть предоставлена ​​пакетом (и рекламируется через .pc-файл) или должна быть объединена вместе с вашим приложением. В более позднем случае вы можете просто использовать ссылку на проект или «файл» на сборку.

+0

Спасибо, что сообщили мне об этом! –

+1

Не работает для меня. Использование MonoDevelop 2.4.1, Mono 2.8.1, Mac OSX (10.6.5), Недавно установленная инфраструктура Tao в 1 из 3 каталогов, перечисленных в PKG_CONFIG_PATH, которая включает в себя по умолчанию/usr/lib/pkgconfig (где различные Toa * .pc файлы в реальном времени). Я попытался переместить строку экспорта переменной из/etc/bashrc в/etc/profile, чтобы обеспечить ее более широкое распространение. Я даже пытался жестко кодировать одно и то же значение экспорта в внутренний сценарий запуска MonoDevelop.app, но НЕТ. Когда я пытаюсь редактировать ссылки, алфавитный список останавливается на «S» (для System. *), Нет «T» для Toa. *. Идеи ?. –

+0

Похоже, что аргумент 'package assemblyName' gacutil/gacutil2 не создает ссылку на сборку внутри '/ usr/lib/mono' во время установки на GAC. Мои файлы TAO * .pc pkgconfig указывают на этот каталог, но там ничего нет. Получение разрешений с помощью Sudo либо непосредственно на вызове gacutil, либо файл сборки Tao Nant, который содержит оригинальный вызов gacutil, не делает ничего, чтобы повысить это. Угадайте, что мне нужно будет сделать ссылки * .dll вручную. –