Вопрос

Я работаю над получением проекта ASP.NET, работая на Linux. Я проверял свой код, используя XSP в Windows, но теперь я пытаюсь убедиться, что я также могу разработать и тестировать на Linux. В этот конец я получил Ubuntu бежать и у монодевополи и MySQL работает. Я скачал последний разъем / сетевой разъем MySQL, и я думаю, что у меня он установлен правильно.

Там нет пакета, который автоматически устанавливает соединитель / сеть MySQL для дистрибуции, поэтому я загрузил 6.2.3 ZIP-файл с веб-сайта MySQL. Теперь я уже обнаружил проблему с чувствительностью кейса, поскольку ZIP-файл содержит имена файлов в нижнем регистре, а моно ожидает их в верхнем регистре. Поэтому я изменил имена файлов в mysql.data.dll и mysql.web.dll соответственно. Я также использовал Gacutil, чтобы установить оба файла в GAC. Точно так же я добавил файлы в каталог mono lib. Следующие файлы существуют на моей машине:

/usr/lib/mono/gac/MySql.Data/6.2.3.0__c5687fc88969c44d/MySql.Data.dll
/usr/lib/mono/gac/MySql.Web/6.2.3.0__c5687fc88969c44d/MySql.Web.dll
/usr/lib/mono/2.0/MySql.Data.dll
/usr/lib/mono/2.0/MySql.Web.dll

Я также создал пакетные файлы, чтобы я мог добавлять ссылки на сборки в монодополоте. Папка /usr/lib/mono/2.0 содержит два файла .pc, которые я добавил.

Mysql.web.pc:

Name: MySql.Web
Description: ASP Membership, Role and Profile providers powered by MySQL
Version: 6.2.3
Libs: -r:/usr/lib/mono/gac/MySql.Web/6.2.3.0__c5687fc88969c44d/MySql.Web.dll

Mysql.data.pc:

Name: MySql.Data
Description: Provides connectivity to MySQL databases
Version: 6.2.3
Libs: -r:/usr/lib/mono/gac/MySql.Data/6.2.3.0__c5687fc88969c44d/MySql.Data.dll

На данный момент я могу использовать сборки в проектах внутри монодевопола. Сборки появляются в списке доступных сборок при редактировании ссылок на проекты. Проект сейчас компилируется без ошибок внутри монодепола. Однако, когда я запускаю скомпилированный веб-проект в XSP, в браузере отображается следующая ошибка:

System.io.fileNotfoundException: не удалось загрузить файл или сборку mysql.web.dll, версию = 6.2.3.0, культуру = нейтральный, publickeyteken = C5687FC88969C44D 'или один из его зависимостей. Система не может найти указанный файл.

То, что изначально является то, что изначально ошибка состояла в том, что она не могла загрузить MySQL.Данные.dll и теперь сообщение об ошибке заключается в том, что он не может загружать mysql.Веб.dll. Что означает, что я как-то исправил проблему, у меня с данными dll, и теперь у меня есть проблема с веб-DLL. Я пошел и повторно сделал, я научился решить проблему для DLL данных, но я не могу получить работу веб-DLL.

К сожалению, я все еще довольно новичок в Linux и Mono (но не в ASP.NET), и у меня есть вещи, чтобы попробовать. Точно так же я ничего не нашел в Google, чтобы попробовать, кроме того, что было описано выше, которое оставляет меня просить о помощи.

Может кто-нибудь помочь мне узнать, почему XSP не может найти сборку и что я могу с этим сделать?

Спасибо,

Это было полезно?

Решение

Вы можете попробовать установить некоторые переменные среды, которые должны сказать вам, где все моно ищет сборки:

Mono_log_level = "debug" mono_log_mask = "dll" xsp2

Другие советы

Не идеальное исправление (я не знаю, почему его идет не так), но если вы спешите, скопируйте mysql.web.dll в каталог Bin вашего приложения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top