Как определить, какая сборка отсутствует в Mono 2.10.2? - PullRequest
0 голосов
/ 19 января 2012

У меня есть веб-сервер с MONO 2.10.2 (fast-cgi) на коробке CentOS 6. Работая на простом ванильном сайте MVC 3, работает отлично. Однако, когда я добавляю MySql.Data, я получаю не очень полезную ошибку:

System.IO.FileLoadException: The assembly name is invalid.

Мои библиотеки DLL находятся в нужном месте. На них ссылаются правильно. Все сделано правильно, но Моно все еще жалуется, что не может найти сборку, не сказав мне, какая именно. Проблема возникает после простого добавления ссылки на MySql.Data и без изменения какого-либо кода. Я просмотрел исходное решение MySql.Data и, кажется, ссылки на него существуют на веб-сервере.

Я понимаю, что у других людей такая же проблема . Я счастлив отлаживать его сам, но я новичок в Mono и не могу понять, как получить более подробные сообщения об ошибках. Я проверил сайт Mono для получения инструкций по включению более подробной регистрации, но их документы предполагают определенные базовые знания о Mono, которых у меня нет.

Есть ли способ получить более подробную информацию, когда Mono не удается загрузить сборку?

Я не уверен, что эти детали имеют значение, но на всякий случай ...
- Mono: 2.10.2 (обслуживается через fastcgi-mono-server4)
- MySql: Connector.Net 6.4.4.0 (из версии v4, установленной в загрузке .Net & Mono)
- Веб-сервер: NGINX 1.0.11
- ОС: CentOS 6

1 Ответ

1 голос
/ 19 января 2012

Если вы можете получить «контрольный пример», который компилируется в приложение, попробуйте:

MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono my_app.exe

Или просто временно отредактируйте ваш CGI-скрипт, чтобы он устанавливал эти две переменные. Проверьте логи - вы должны увидеть, что не загружается в порядке.

...