我们选择用xamarin studio来测试,如果你直接进xamarin的官网,那么会有一个更好看的网站和更复杂的流程(比如需要注册),我们直接到mono项目找mac的支持吧,点此进入

  • 相关sdk和app都安装好后,进入xamarin studio(如果有更新,那就更新一下),我们建一个asp.net mvc3项目(时至今日,mvc已经是5.1了,这个待会说)
  • 项目建好后,我们发现有两个引用找不到文件:system.web.helpers和system.web.webpages,网上有让你从gac里自行添加进去的方法,我们不这么做,直接删掉,然后,我们从nuget来安装最新的mvc
  • 如何为xamarin添加nuget插件
  • 接下来在项目或者引用文件夹上右键,管理nuget package,我们搜索“mvc”关键词,得到Microsoft ASP.NET MVC这个项目,点击安装
  • 同意协议并安装后,下方的message会提示你不能安装到.net 4.0的项目上,于是我们退出package manager,在解决方案管理器内右键项目,选择'Options/Build/General',在Target framework里面选上Mono/.NET 4.5即可
  • 重新从nuget添加,我们发现装好后,mvc已经是5.1了
    • packages.config: <package id="Microsoft.AspNet.Mvc" version="5.1.1" targetFramework="net45" />
    • web.config:
    <dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
</dependentAssembly>
  • 为了让错误来提示我们应该改什么,而不是死记硬背,我们先运行一下项目

    • 得到一个Access to the path "/Library/Frameworks/Mono.framework/Versions/3.2.5/etc/mono/registry" is denied.的错误,点此查看解决办法,我选择了执行脚本的方法,而不是去修改csproj文件
    • 重新测试运行,得到一个System.InvalidOperationException Conflicting versions of ASP.NET Web Pages detected: specified version is “1.0.0.0”, but the version in bin is “3.0.0.0”. To continue, remove files from the application’s bin directory or remove the version specification in web.config错误,我们找到项目的web.config文件,直接删除掉appSetting节点下的<add key="webpages:Version" value="1.0.0.0" />(你也可以改为3.0.0.0)
    • 继续测试,得到一个错误:System.InvalidOperationExceptionCould not locate Razor Host Factory type: System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0,这个时候,找到view目录下的web.config文件,定位到system.web.webPages.razor/host节点(错误提示很明确了),把其中的3.0.0.0改为5.1.0.0
    • 到目前为止,我的程序已经是能跑起来了。

Run ASP.NET MVC site on mac (mono/xamarin studio)的更多相关文章

  1. ASP.NET MVC 5 SmartCode Scaffolding for Visual Studio.Net

    介绍 ASP.NET MVC 5 SmartCode Scaffolding是集成在Visual Studio.Net开发工具中一个ASP.NET MVC Web应用程序代码生成框架,使用SmartC ...

  2. Forms Authentication in ASP.NET MVC 4

    原文:Forms Authentication in ASP.NET MVC 4 Contents: Introduction Implement a custom membership provid ...

  3. ASP.NET MVC 从零开始 - 自动化部署(其二)

    这篇文章是从我的 github 博客 http://lxconan.github.io 导入的. 这是这个系列的第五篇了,前四篇请参见: ASP.NET MVC 从零开始 – Create and R ...

  4. ASP.NET MVC 从零开始 - 请求处理

    这篇文章是从我的 github 博客 lxconan.github.io 导入的. 这是这个系列的第三篇了.前两篇文章请参见: ASP.NET MVC 从零开始 - Create and Run AS ...

  5. ASP.NET MVC 从零开始 - 自动化部署(其一)

    本文是从我的 github 博客 http://lxconan.github.io 导入的. 这是这个系列的第四篇了,前三篇请参见: ASP.NET MVC 从零开始 – Create and Run ...

  6. [转]HTML5 Day 4: Add Drop Down Menu to ASP.NET MVC HTML5 Template using CSS and jQuery

    本文转自:http://pietschsoft.com/post/2010/11/17/HTML5-Day-4-Add-DropDown-Menu-ASPNET-MVC-HTML5-Template- ...

  7. 初识ASP.NET MVC

    我们首先从创建ASP.NET MVC项目开始.打开Visual Studio,在文件菜单中选择新建-> 项目,然后在模板中选择Web,接着选择ASP.Net Web应用程序,更改项目名称,点击确 ...

  8. ASP.NET MVC 5 01 - ASP.NET概述

    本篇目录: ASP.NET 概述 .NET Framework 与 ASP.NET ASP.NET MVC简介 ASP.NET的特色和优势 典型案例 ▁▃▅ ASP.NET概述 ▅▃▁ 目前开发B/S ...

  9. ASP.NET MVC系列:开始

    创建Asp.Net MVC项目 从visual studio主界面开始菜单中点击“新建项目”

随机推荐

  1. mysql行转列转换

    http://blog.csdn.net/sinat_27406925/article/details/77507478 mysql 行列转换 ,在项目中应用的极其频繁,尤其是一些金融项目里的报表.其 ...

  2. duubo开发时直连(不需要注册中心)

    前言 在dubbo开发时,一般开发人员不连注册中心,在这里记录下1.consumer端配置 <?xml version="1.0" encoding="UTF-8& ...

  3. nginx报502 bad GateWay错误的解决方法

    nginx+php-fpm+mysql的网站,访问nginx的某个页面,报502 GateWay的错误,一般见到此错误,可以判断是php-fpm的问题,而不是nginx的问题.通过监控nginx的错误 ...

  4. ActiveMQ两种模式PTP和PUB/SUB<转>

    1.PTP模型 PTP(Point-to-Point)模型是基于队列(Queue)的,对于PTP消息模型而言,它的消息目的是一个消息队列(Queue),消息生产者每次发送消息总是把消息送入消息队列中, ...

  5. MySql生成日历表

    mysql使用存储过程,创建日历表: 准备日历表: CREATE TABLE `m_dim_day` ( `ID` ) NOT NULL AUTO_INCREMENT, `DAY_ID` ) DEFA ...

  6. Vmware10 Centos7 共享文件夹设置方法

    先安装包依赖: yum -y install kernel-devel-$(uname -r) yum -y install net-tools perl gcc gcc-c++ 安装vm tool ...

  7. sudo开发常用命令总结

    ansible ws -m "shell" -a "echo 'wangsong ALL=(ALL) NOPASSWD: /usr/local/bin/superviso ...

  8. MFC函数—— CFrameWnd::OnCreateClient

    CFrameWnd::OnCreateClient virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext*pContext); ...

  9. viewpager+fragment滑动切换卡顿问题

    最近在做项目的时候遇到个问题,viewpager中的fragment添加使用listview添加数据后出现滑动卡顿,造成用户体验感极差.找了很久的资料,也试了很多大方法,在这里给大家分享下: 1.添加 ...

  10. adb server is out of date ADB server didn't ACK * failed to start daemon *一种解决方式

           记录个小问题,这两天用到了android中的远程调试一个开发板,经常碰到一个问题,android中ADB server didn't ACK * failed to start daem ...