Run ASP.NET MVC site on mac (mono/xamarin studio)
我们选择用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:
- packages.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)的更多相关文章
- ASP.NET MVC 5 SmartCode Scaffolding for Visual Studio.Net
介绍 ASP.NET MVC 5 SmartCode Scaffolding是集成在Visual Studio.Net开发工具中一个ASP.NET MVC Web应用程序代码生成框架,使用SmartC ...
- Forms Authentication in ASP.NET MVC 4
原文:Forms Authentication in ASP.NET MVC 4 Contents: Introduction Implement a custom membership provid ...
- ASP.NET MVC 从零开始 - 自动化部署(其二)
这篇文章是从我的 github 博客 http://lxconan.github.io 导入的. 这是这个系列的第五篇了,前四篇请参见: ASP.NET MVC 从零开始 – Create and R ...
- ASP.NET MVC 从零开始 - 请求处理
这篇文章是从我的 github 博客 lxconan.github.io 导入的. 这是这个系列的第三篇了.前两篇文章请参见: ASP.NET MVC 从零开始 - Create and Run AS ...
- ASP.NET MVC 从零开始 - 自动化部署(其一)
本文是从我的 github 博客 http://lxconan.github.io 导入的. 这是这个系列的第四篇了,前三篇请参见: ASP.NET MVC 从零开始 – Create and Run ...
- [转]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- ...
- 初识ASP.NET MVC
我们首先从创建ASP.NET MVC项目开始.打开Visual Studio,在文件菜单中选择新建-> 项目,然后在模板中选择Web,接着选择ASP.Net Web应用程序,更改项目名称,点击确 ...
- ASP.NET MVC 5 01 - ASP.NET概述
本篇目录: ASP.NET 概述 .NET Framework 与 ASP.NET ASP.NET MVC简介 ASP.NET的特色和优势 典型案例 ▁▃▅ ASP.NET概述 ▅▃▁ 目前开发B/S ...
- ASP.NET MVC系列:开始
创建Asp.Net MVC项目 从visual studio主界面开始菜单中点击“新建项目”
随机推荐
- 2. AutoEncoder在NLP中的应用
1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...
- php 裁剪图片类
<?php /* *说明:函数功能是把一个图像裁剪为任意大小的图像,图像不变形 * 参数说明:输入 需要处理图片的 文件名,生成新图片的保存文件名,生成新图片的宽,生成新图片的高 * writt ...
- python 6种数据类型几及用法
#!/usr/bin/python3 #python的基本语法和数据类型 #python3中 一行有多个语句,用分号分割(;) print("aaa") ;print(" ...
- [转]收藏的Extjs 多表头插件GroupHeaderGrid
本文转载自chy2z<收藏的Extjs 多表头插件GroupHeaderGrid> 效果图: 是不是非常酷啊! js 代码: Ext.namespace("Ext.tet.plu ...
- 启动Tomcat报错:class path resource cannot be opened
直接原因:WEB-INF/classes下没有文件,即eclipse项目文件没有发布到Tomcat的文件夹. 根本原因:项目的Java Build Path /Libraries 里tomcat 和j ...
- 为什么页面设计宽度要控制在960px
其实这里涉及到了一个网页栅格系统的问题,而且这个观念是从苹果的设计师那里来的 网站 首页页面宽度 px Yahoo! 950 淘宝 950 MySpace 960 新浪 950 网易 960 Live ...
- gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法
错误 2 error LNK2001: 无法解析的外部符号 _namespaces 解决方法: 1. 在工程中定义 WITH_NONAMESPACES 宏 2.尝试 "#include &q ...
- MySQL Master_Slave主从配置
一.配置主数据库master 1.在主库Master创建用户. mysql>create user repl; //创建新用户 //repl用户必须具有REPLICATION SLAVE权限,除 ...
- python——读取MATLAB数据文件 *.mat
鉴于以后的目标主要是利用现有的Matlab数据(.mat或者.txt),主要考虑python导入Matlab数据的问题.以下代码可以解决python读取.mat文件的问题.主要使用sicpy.io即可 ...
- Qt判断操作系统代码
Qt4的时候是如下宏定义.Qt5,有所不同. #include <QtGlobal> ... #ifdef Q_OS_MAC // mac #endif #ifdef Q_OS_LIN ...