Asp.net mvc 使用Mono和MVC 4的视图出错
我试图开始使用Mono框架,但遇到了很多问题,最近的一个问题让我很恼火。我已经找遍了所有的解决方案,但还没有找到答案 环境Asp.net mvc 使用Mono和MVC 4的视图出错,asp.net-mvc,asp.net-mvc-4,mono,mod-mono,xsp,Asp.net Mvc,Asp.net Mvc 4,Mono,Mod Mono,Xsp,我试图开始使用Mono框架,但遇到了很多问题,最近的一个问题让我很恼火。我已经找遍了所有的解决方案,但还没有找到答案 环境 Ubuntu 12.04(在Hyper-V虚拟机上) Visual Studio 2012(完全更新) ASP.NET MVC 4 .NET Framework 4 Mono 3.4.0(使用make直接从git中提取和编译) XSP Mono.WebServer2 0.2.0.0(也来自git) 我的mono安装几乎完全按照中的说明进行。结果是: 我使用默认选项在VS 2
Ubuntu 12.04(在Hyper-V虚拟机上)
Visual Studio 2012(完全更新)
ASP.NET MVC 4
.NET Framework 4
Mono 3.4.0(使用make直接从git中提取和编译)
XSP Mono.WebServer2 0.2.0.0(也来自git) 我的mono安装几乎完全按照中的说明进行。结果是:
cd/var/www/mvc
,然后运行xsp4
找不到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。已搜索以下位置:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml 描述:HTTP 500。处理请求时出错。
详细信息:非web异常。异常源(应用程序或对象的名称):System.Web.Mvc。
异常堆栈跟踪:
at System.Web.Mvc.ViewResult.FindView(System.Web.Mvc.ControllerContext context) [0x00000] in <filename unknown>:0
at System.Web.Mvc.ViewResultBase.ExecuteResult(System.Web.Mvc.ControllerContext context) [0x00000] in <filename unknown>:0
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) in <filename unknown>:0
at System.Web.Mvc.ControllerActionInvoker+<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17 () [0x00000] in <filename unknown>:0
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, System.Web.Mvc.ResultExecutingContext preContext, System.Func`1 continuation) [0x00000] in <filename unknown>:0
位于System.Web.Mvc.ViewResult.FindView(System.Web.Mvc.ControllerContext上下文)[0x00000]中:0
0中的System.Web.Mvc.ViewResultBase.ExecuteSult(System.Web.Mvc.ControllerContext上下文)[0x00000]处
位于:0中的System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(System.Web.Mvc.ControllerContext ControllerContext,System.Web.Mvc.ActionResult ActionResult)处
在System.Web.Mvc.ControllerActionInvoker+c_uuDisplayClass1A.b_uu17()[0x00000]中:0
在System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter筛选器,System.Web.Mvc.ResultExecutingContext预文本,System.Func`1 continuation)[0x00000]中:0
版本信息:3.4.0(master/830c517-Fri-Feb 28 16:03:26 CST 2014);ASP.NET版本:4.0.30319.17020
我尝试过各种编译组合(目标是4.5而不是4.0,使用MVC 3而不是4),复制本地化的各种引用组合,以及详尽的web搜索……都没有用。这和我的单声道版本有关吗?XSP?这个问题有最终的解决方案吗
更新如果我将.NET Framework 4.5作为MVC 4项目的目标,则错误会更改为: System.IO.FileNotFoundException
无法加载文件或程序集“log4net,Version=1.2.11.0,Culture=neutral,PublicKeyToken=669e0ddf0bb1aa2a”或其依赖项之一。
描述:HTTP 500。处理请求时出错。
详细信息:非web异常。异常源(应用程序或对象的名称):DotNetOpenAuth.Core。
异常堆栈跟踪:
at DotNetOpenAuth.Logger.Create(System.String name) [0x00000] in <filename unknown>:0
at DotNetOpenAuth.Logger.CreateWithBanner(System.String name) [0x00000] in <filename unknown>:0
at DotNetOpenAuth.Logger..cctor() [0x00000] in <filename unknown>:0
在:0中的DotNetOpenAuth.Logger.Create(System.String name)[0x00000]处
在:0中的DotNetOpenAuth.Logger.CreateWithBanner(System.String名称)[0x00000]处
在:0中的DotNetOpenAuth.Logger..cctor()[0x00000]处
我不使用log4net。经过几天的研究,我学到了一些东西,首先也是最重要的是,Ubuntu 12.04不支持Mono3.x 因此,MVC4在该操作系统上是不可能的(以及我使用过的大多数其他Linux操作系统)。作为将来的参考,我终于能够让MVC 3在Ubuntu 12.04上运行,并执行以下操作:
sudo-apt-get-install-xrdp
ifconfig
获取可用于远程桌面连接的VMs IP地址sudo apt get install apache2
sudo-apt-get-install-apache2-threaded-dev
sudo apt get install mono运行时
sudo-apt-get-install-mono-complete
sudo apt get安装mono-xsp4
sudo apt get安装asp.net示例
/var/www
中为MVC 3站点设置一个文件夹,并部署站点。将某些程序集复制到站点文件夹以使其正常工作非常重要,即:
- System.Web.Helpers
- System.Web.Mvc
- System.Web.Razor
- System.Web.Routing
- System.Web.Web页面
- System.Web.WebPages.Razor
- System.Web.WebPages.Deployment
cd /var/www/sitefolder/
xsp4
xsp4
Listening on address: 0.0.0.0
Root directory: /var/www/sitefolder
Listening on port: 8080 (non-secure)
Hit Return to stop the server.