我使用 Visual Studio 2012 在 Windows 7 上构建了一个 ASP.NET MVC 3 Web 应用程序。我的应用程序在 Visual Studio 中构建和运行时没有任何问题。我想在 OS X 10.8.2 上使用 Xamarin Studio 4.0 和 Mono 3.0.4 编辑和运行该 Web 应用程序。这是我迄今为止尝试过的:
- 在 Xamarin Studio 中打开了我的 .sln。
- 删除了对 System.Data.Entity 和 System.Web.Entity 的引用。
- 将 System.Web.Helpers(版本 1.0.0.0)、System.Web.Mvc(版本 3.0.0.0)和 System.Web.WebPages(版本 1.0.0.0).dll 复制到 bin 文件夹。
- 删除了对 System.Web.Helpers、System.Web.Mvc 和 System.Web.Webpages 的旧引用。
- 在我的 *.Designer.cs 文件中将“使用 System.Data.*”替换为“使用 System.Data.Entity.Core.*”。
- 删除了对 EntityFramework(版本 4.x)的引用。
- 从我的 bin 文件夹中删除了 EntityFramework.dll 和 EntityFramework.xml。
- 添加了对 /Library/Frameworks/Mono.framework/Libraries/mono/4.5/EntityFramework.dll(版本 6.0.0.0)的引用。
- 点击运行。
单击运行后,出现以下异常:
Exception rethrown at [0]:
---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Web.Configuration.HostingEnvironmentSection ---> System.MissingMethodException: Method not found: 'System.Configuration.ConfigurationProperty..ctor'.
--- End of inner exception stack trace ---
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000b9] in /Users/duncan/git/mono/bockbuild/profiles/mono-mac-release/build-root/mono-3.0.4/_build/mono-3.0.4.git/mcs/class/corlib/System.Reflection/MonoMethod.cs:524
--- End of inner exception stack trace ---
at (wrapper xdomain-invoke) System.AppDomain:DoCallBack (System.CrossAppDomainDelegate)
at (wrapper remoting-invoke-with-check) System.AppDomain:DoCallBack (System.CrossAppDomainDelegate)
at System.Web.Hosting.ApplicationHost.CreateApplicationHost (System.Type hostType, System.String virtualDir, System.String physicalDir) [0x002fb] in /Users/duncan/git/mono/bockbuild/profiles/mono-mac-release/build-root/mono-3.0.4/_build/mono-3.0.4.git/mcs/class/System.Web/System.Web.Hosting/ApplicationHost.cs:244
at Mono.WebServer.VPathToHost.CreateHost (Mono.WebServer.ApplicationServer server, Mono.WebServer.WebSource webSource) [0x0003a] in /Users/builder/data/lanes/mono-mac-ui-refresh-master/3108f76b/source/bockbuild/profiles/mono-mac-release/build-root/xsp-2.11/_build/mono-xsp-d3e2f80/src/Mono.WebServer/VPathToHost.cs:150
at Mono.WebServer.XSP.Server.RealMain (System.String[] args, Boolean root, IApplicationHost ext_apphost, Boolean quiet) [0x00775] in /Users/builder/data/lanes/mono-mac-ui-refresh-master/3108f76b/source/bockbuild/profiles/mono-mac-release/build-root/xsp-2.11/_build/mono-xsp-d3e2f80/src/Mono.WebServer.XSP/main.cs:486
at Mono.WebServer.XSP.Server.Main (System.String[] args) [0x00025] in /Users/builder/data/lanes/mono-mac-ui-refresh-master/3108f76b/source/bockbuild/profiles/mono-mac-release/build-root/xsp-2.11/_build/mono-xsp-d3e2f80/src/Mono.WebServer.XSP/main.cs:264
我已经用谷歌搜索了这个例外,但我还没有找到解决方案。我缺少参考吗?是否有使用 MVC 3 或 4 以及在 Mono 下运行的实体框架 4 或 6 的工作示例项目?