我正在努力使我的ASP.NET项目在Linux上工作。我一直在使用Windows上的XSP测试我的代码,但是现在我正在尝试确保我也可以在Linux上开发和测试。为此,我已经运行了Ubuntu,并运行了MySQL。我已经下载了最新的MySQL连接器/NET,我认为我已经正确安装了它。

没有包装可以自动安装MySQL连接器/NET进行分发,因此我从MySQL网站下载了6.2.3 ZIP文件。现在,我已经发现了案例敏感性的问题,因为zip文件在小写中包含文件名,并且单声道期望它们在大写中。因此,我分别将文件的名称更改为mysql.data.dll和mysql.web.dll。我还使用Gacutil将两个文件安装到GAC。同样,我将文件添加到了单声道目录中。我的计算机确实存在以下文件:

/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

我还创建了软件包文件,以便可以在Monodeveloping中将引用添加到“汇编”中。文件夹/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

在这一点上,我可以在Monodevelops内部的项目中使用这些组件。编辑项目参考时,这些组件出现在可用组件列表中。现在,该项目在单器发中编译而没有错误。但是,当我在XSP中运行编译的Web项目时,浏览器中显示以下错误:

system.io.io.filenotfoundException:无法加载文件或组装'mysql.web.dll,版本= 6.2.3.0,culture =中性,publicKeyToken = C5687FC88969C44D'或其依赖项之一。该系统找不到指定的文件。

Fustrate是最初的错误是它无法加载MySQL。数据.dll和现在的错误消息是它不能加载mySQL。网络.dll。这意味着我以某种方式解决了数据DLL的问题,现在我对Web DLL有问题。我已经走了重新任命,我学会了解决数据DLL的问题,但是我无法使Web 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