我有以下配置:
CentOS 5.6 final (Linux 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:22:04 EDT 2011 x86_64)
Apache web server (Apache/2.2.17 (EL), API 20051115)
Mono 2.10.2 (from repository http://ftp.novell.com/pub/mono/download-stable/RHEL_5/
Mono is running via mod_mono.
我正在尝试制作非常简单的asp.net mvc3应用程序。一切都运行良好,直到我添加了MySQL数据库访问。我已经阅读了一些关于MySQL恶梦的文档,所以我使用了非常基本的方法(http://loft7270.serverloft.com/honza/DataAccess.cs)。
我从mysql.com网站(.NET& Mono版)中取了MySQL Connector / NET 6.4.4,取了mysql.data.dll(.NET4.0版本),修复了MySql.Data.dll文件名它在服务器上并使用
安装到.NETgacutil /i MySql.Data.dll
我已使用
验证了安装gacutil /l
(结果列表:link-> http://loft7270.serverloft.com/honza/registeredAssemblies.txt)
无论我做什么,当我尝试使用MySql时总是会出错:
Server Error in '/yelt' Application
The assembly name is invalid.
Description: HTTP 500. Error processing request.
Stack Trace:
System.IO.FileLoadException: The assembly name is invalid.
at System.Reflection.AssemblyName..ctor (string) <0x000af>
at Mono.CSharp.ImportedAssemblyDefinition.ReadAttributes () <0x001e7>
at Mono.CSharp.MetadataImporter.GetAssemblyDefinition (System.Reflection.Assembly) <0x00093>
at Mono.CSharp.ReflectionImporter.ImportAssembly (System.Reflection.Assembly,Mono.CSharp.RootNamespace) <0x0003b>
at Microsoft.CSharp.RuntimeBinder.DynamicContext.Create () <0x00297>
at Microsoft.CSharp.RuntimeBinder.CSharpSetMemberBinder.FallbackSetMember (System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject) <0x00037>
at System.Dynamic.DynamicObject/MetaDynamic/<BindSetMember>c__AnonStorey3B.<>m__4 (System.Dynamic.DynamicMetaObject) <0x0002c>
at System.Dynamic.DynamicObject/MetaDynamic.CallMethodReturnLast (string,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],System.Linq.Expressions.Expression,System.Dynamic.DynamicObject/MetaDynamic/Fallback) <0x00035>
at System.Dynamic.DynamicObject/MetaDynamic.BindSetMember (System.Dynamic.SetMemberBinder,System.Dynamic.DynamicMetaObject) <0x000eb>
at System.Dynamic.SetMemberBinder.Bind (System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]) <0x000ac>
at System.Dynamic.DynamicMetaObjectBinder.Bind (object[],System.Collections.ObjectModel.ReadOnlyCollection`1<System.Linq.Expressions.ParameterExpression>,System.Linq.Expressions.LabelTarget) <0x001a4>
at System.Runtime.CompilerServices.CallSiteBinder.BindCore<System.Func`4<System.Runtime.CompilerServices.CallSite, object, string, object>> (System.Runtime.CompilerServices.CallSite`1<System.Func`4<System.Runtime.CompilerServices.CallSite, object, string, object>>,object[]) <0x000a1>
at System.Dynamic.UpdateDelegates.UpdateAndExecute2<object, string, object> (System.Runtime.CompilerServices.CallSite,object,string) <0x00417>
at Yelt.Controllers.HomeController.Index () <0x0011d>
at (wrapper dynamic-method) object.lambda_method (System.Runtime.CompilerServices.Closure,System.Web.Mvc.ControllerBase,object[]) <0x00045>
at System.Web.Mvc.ActionMethodDispatcher.Execute (System.Web.Mvc.ControllerBase,object[]) <0x0002d>
at System.Web.Mvc.ReflectedActionDescriptor.Execute (System.Web.Mvc.ControllerContext,System.Collections.Generic.IDictionary`2<string, object>) <0x0012b>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (System.Web.Mvc.ControllerContext,System.Web.Mvc.ActionDescriptor,System.Collections.Generic.IDictionary`2<string, object>) <0x00033>
at System.Web.Mvc.ControllerActionInvoker/<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12 () <0x00072>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter (System.Web.Mvc.IActionFilter,System.Web.Mvc.ActionExecutingContext,System.Func`1<System.Web.Mvc.ActionExecutedContext>) <0x000ed>
Version information: Mono Runtime Version: 2.10.2 (tarball Mon Apr 18 19:06:50 UTC 2011); ASP.NET Version: 4.0.30319.1
尝试将MySql.Data.dll复制到/ bin文件夹会导致不同的错误:
Server Error in '/yelt' Application
Compilation Error
Description: Error compiling a resource required to service this request. Review your source file and modify it to fix this error.
Compiler Error Message: : at System.Reflection.AssemblyName..ctor (System.String assemblyName) [0x00000] in <filename unknown>:0
~/Global.asax
Show Detailed Compiler Output:
dmcs /target:library /lib:"/var/www/asp.net/yelt/bin" /debug+ /optimize- /warn:4 /out:"/tmp/apache-temp-aspnet-0/165eac4/App_global.asax_4aaabf1a.dll" /r:"/opt/novell/mono/lib/mono/4.0/mscorlib.dll" /r:"/opt/novell/mono/lib/mono/gac/Microsoft.CSharp/4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll" /r:"/opt/novell/mono/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web.Services/4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll" /r:"/opt/novell/mono/lib/mono/gac/System.EnterpriseServices/4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll" /r:"/opt/novell/mono/lib/mono/gac/System.IdentityModel/4.0.0.0__b77a5c561934e089/System.IdentityModel.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Runtime.Serialization/4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Xaml/4.0.0.0__b77a5c561934e089/System.Xaml.dll" /r:"/opt/novell/mono/lib/mono/gac/System.ServiceModel/4.0.0.0__b77a5c561934e089/System.ServiceModel.dll" /r:"/opt/novell/mono/lib/mono/gac/System.ServiceModel.Web/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Web.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web.Extensions/4.0.0.0__31bf3856ad364e35/System.Web.Extensions.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Data.DataSetExtensions/4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Xml.Linq/4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll" /r:"/opt/novell/mono/lib/mono/gac/System.ComponentModel.DataAnnotations/4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web.DynamicData/4.0.0.0__31bf3856ad364e35/System.Web.DynamicData.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Data.Linq/4.0.0.0__b77a5c561934e089/System.Data.Linq.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web.ApplicationServices/4.0.0.0__31bf3856ad364e35/System.Web.ApplicationServices.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web.Abstractions/4.0.0.0__31bf3856ad364e35/System.Web.Abstractions.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.Helpers.dll" /r:"/opt/novell/mono/lib/mono/gac/System.Web.Routing/4.0.0.0__31bf3856ad364e35/System.Web.Routing.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.Mvc.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.WebPages.dll" /r:"/var/www/asp.net/yelt/bin/MySql.Data.dll" /r:"/var/www/asp.net/yelt/bin/NuGet.Core.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.Razor.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.WebPages.Administration.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.WebPages.Deployment.dll" /r:"/var/www/asp.net/yelt/bin/System.Web.WebPages.Razor.dll" /r:"/var/www/asp.net/yelt/bin/WebMatrix.Data.dll" /r:"/var/www/asp.net/yelt/bin/WebMatrix.WebData.dll" /r:"/var/www/asp.net/yelt/bin/Yelt.dll" /nowarn:0169 /d:DEBUG -- "/tmp/apache-temp-aspnet-0/165eac4/App_global.asax_4aaabf1a_0.cs"
Unhandled Exception: System.IO.FileLoadException: The assembly name is invalid.
at System.Reflection.AssemblyName..ctor (System.String assemblyName) [0x00000] in :0
at Mono.CSharp.ImportedAssemblyDefinition.ReadAttributes () [0x00000] in :0
at Mono.CSharp.MetadataImporter.GetAssemblyDefinition (System.Reflection.Assembly assembly) [0x00000] in :0
at Mono.CSharp.ReflectionImporter.ImportAssembly (System.Reflection.Assembly assembly, Mono.CSharp.RootNamespace targetNamespace) [0x00000] in :0
at Mono.CSharp.DynamicLoader.LoadReferences (Mono.CSharp.ModuleContainer module) [0x00000] in :0
at Mono.CSharp.Driver.Compile () [0x00000] in :0
at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in :0
Version information: Mono Runtime Version: 2.10.2 (tarball Mon Apr 18 19:06:50 UTC 2011); ASP.NET Version: 4.0.30319.1
我曾尝试将mono升级到2.10.8,因为根据某些网站MySql.Data因为某些错误而无法使用2.10.2但很遗憾没有链接 - > http://help.tcadmin.com / Mono也没有链接 - &gt; http:// http://www.fcraft.net/wiki/Building_Mono walktrhoughs导致工作的asp.net网站(即使有mysql的东西被删除)。
知道如何强制MySQL连接器工作吗?我的想法已经用完了: - / VS2010项目被剥离为基本内容导致错误:http://loft7270.serverloft.com/honza/Yelt.zip