Я работаю над тем, чтобы мой проект ASP.Net работал на Linux. Я тестировал свой код с использованием XSP для Windows, но теперь я пытаюсь убедиться, что могу разрабатывать и тестировать также и на Linux. Для этого я запустил Ubuntu и MonoDevelop и MySQL. Я скачал последнюю версию MySQL Connector / Net и думаю, что установил ее правильно.
Нет пакета, который автоматически установит MySQL Connector / Net для распространения, поэтому я скачал zip-файл 6.2.3 с веб-сайта MySQL. Теперь я уже обнаружил проблему с чувствительностью к регистру, потому что zip-файл содержит имена файлов в нижнем регистре, а Mono ожидает их в верхнем регистре. Поэтому я изменил имена файлов на 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
Я также создал файлы пакетов, чтобы можно было добавлять ссылки на сборки в MonoDevelop. Папка /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
На данный момент я могу использовать сборки в проектах внутри MonoDevelop. Сборки появляются в списке доступных сборок, когда я редактирую ссылки на проекты. Теперь проект без ошибок компилируется внутри MonoDevelop. Однако, когда я запускаю скомпилированный веб-проект в XSP, в браузере отображается следующая ошибка:
System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'MySql.Web.dll, версия = 6.2.3.0, культура = нейтральная, PublicKeyToken = C5687FC88969C44D' или одна из ее зависимостей. Система не может найти указанный файл.
Что раздражает, так это то, что изначально ошибка заключалась в том, что он не мог загрузить MySql. Data .dll, а теперь появляется сообщение об ошибке, что он не может загрузить MySql. Web .dll. , Это означает, что я каким-то образом исправил проблему, которая у меня была с Data DLL, и теперь у меня есть проблема с Web DLL. Я пошел и сделал заново, я научился исправлять проблему для dll Data, но я не могу заставить работать dll Web.
К сожалению, я все еще довольно новичок в Linux и Mono (но не в ASP.Net), и у меня закончились попытки попробовать. Кроме того, я не нашел в Google ничего, что могло бы попробовать, кроме того, что было описано выше, что заставляет меня просить о помощи.
Может кто-нибудь помочь мне выяснить, почему XSP не может найти сборку и что я могу с этим поделать?
Спасибо,
-Будет