我在 Apache 中使用 mod-mono 托管 ServiceStack Web 服务,我有 mono-3.0.0 和 xsp-2.10.2。我托管了面向 .Net 框架 2.0 并使用 mod-mono-server2 的 hello world 示例,它运行良好。然后我将项目更改为以 .Net 框架 4.0 为目标并使用 mod-mono-server4。我收到此错误:
无法加载文件或程序集“System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。
System.IO.FileNotFoundException:无法加载文件或程序集“System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。文件名:'System.Web.Extensions,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35' 在 System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] 在:0 在 System.AppDomain.Load (System.String assemblyString) [0x00000] 在:0 在 ( wrapper remoting-invoke-with-check) System.AppDomain:Load (string) at System.Reflection.Assembly.Load (System.String assemblyString) [0x00000] in :0 at System.Web.Compilation.BuildManager.LoadAssembly (System. Web.Configuration.AssemblyInfo 信息,System.Collections.Generic.List`1 al) [0x00000] 在 System.Web.Compilation.BuildManager.GetReferencedAssemblies () [0x00000] 在 :0 在 System.Web.Compilation.BuildManager .CallPreStartMethods () [0x00000] in :0
但是文件 System.Web.Extensions 安装在 GAC 中:
gacutil -l System.Web.Extensions
以下程序集安装到 GAC 中:System.Web.Extensions,Version=1.0.61025.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35 System.Web.Extensions,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35 System.Web .Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 项目数= 3
即使我将 MonoPath 设置为专门获取 4.0 版本,也会发生相同的错误:
MonoPath /usr/local/lib/mono/4.0
我也注意到了这一点:
版本信息:Mono 运行时版本:2.10.5(tarball Fri Oct 28 10:20:24 IST 2011);ASP.NET 版本:4.0.30319.1
Mono Runtime 版本说 2.10.5 虽然我安装了 mono-3.0.0,但我不知道这些信息是否对这个问题有价值。
我尝试直接运行 mod-mono-server4 并收到以下错误消息:
mod-mono-server4
mod-mono-server4 在程序集 /usr/local/lib/mono/4.0/System.dll 中缺少方法 System.Configuration.IConfigurationSectionHandler::Create(object,object,XmlNode),在程序集 /usr/local/lib/mono 中引用/4.0/System.Configuration.dll 读取配置文件时捕获的异常:System.MissingMethodException:找不到方法:'System.Configuration.IConfigurationSectionHandler.Create'。在 System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] 在:0 在 System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] 在:0 在系统.Configuration.ConfigurationManager.get_AppSettings () [0x00000] 在 Mono.WebServer.Apache.Server.get_AppSettings () [0x00000] 在 Mono.WebServer.Apache.Server.get_AppSettings () [0x00000] 在 Mono.WebServer.Apache 的 0 中。
我用谷歌搜索了这个错误,它导致我发现了这个错误:
也许 mod-mono-server4 上的错误是另一个错误的根源......我将尝试获取 xsp 3.0 并查看它是否解决了问题。
有任何想法吗?
谢谢