我用vs2015写了个小网站,.Net Framework4.5、 mvc 5,发布到本机iis上正常,在美橙申请了一个云虚拟机,发布过程中遇到的一些问题记录如下:

1、服务器支持的版本比较低

上传后打开网站显示:

HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。

询问美橙的技术支持,说只能支持到.net framework4.0、mvc4。

没办法只好试着降低版本。在vs2015中把解决方案中所有的项目目标框架都改为.net framework4.0 , 在NuGet中把mvc5卸载,安装mvc4,立刻出现了一堆的错误,尤其是实体类的一些扩展的部分类中的特性

         [MaxLength(128, ErrorMessage = "典型客户长度不能超过128个字符")]

都无法识别。引用的库不一致的版本很多,无从下手。

2、缺少一些dll文件

于是干脆下了个vs2012,在vs2012中重新建解决方案,选择ASP.NET MVC4 Web应用程序,目标框架选择.net framework4.0 ,暂时只建了一个控制器home,一个视图index,在本地通过之后,再上传到云虚拟机中,依然404错误。

再与美橙的技术人员联系,对方帮我开启了详细报错。

我在web.config中加入了

  <system.web>
<customErrors mode="Off" />
</system.web>

再访问网站,提示无法加载......

于是按照提示,分别上传了:System.Net.Http.Formatting.dll、System.Web.Http.dll、System.Web.Http.WebHost.dll,终于可以看到我的视图了。

3、加入UEditor后Newtonsoft.Json的版本问题

用vs2012重新建各个项目,把原vs2015解决方案中的各个项目逐个的拷贝过来。

拷贝了插件UEditor之后,再运行一直提示:未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0...... ,再查看引用的是UEditor\net\Bin中的Newtonsoft.Json.dll,版本为6.0.2.16931,我移除引用,重新引用packages\Newtonsoft.Json.4.5.6\lib\net40中的Newtonsoft.Json.dll,然而再查看引用的Newtonsoft.Json属性,依然还是UEditor\net\Bin中6.0版本的Newtonsoft.Json,我有点糊涂,为什么重新引用不生效呢?

费了很大周折,最后通过修改web.config文件

  <!--解决加入UEditor后,提示未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0......的错误-->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>

将所有版本的Newtonsoft.Json都指向当前6.0版本,这个问题解决。

4、401.3错误

把vs2012写的程序,在本地调试通过后,再上传,访问网站提示401.3错误,应该是权限问题,再请美橙的技术处理一下,静态的html页可以显示,但home/index依然无法打开,也不显示详细的错误提示,根据查到的方法在web.config中加入

  <system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<!--上传到云虚拟机后,必须加这个配置项才能打开网页-->
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

终于看到无法加载文件的详细提示,再按提示上传那三个文件到bin,再访问网站,终于可以正常运行了。

5、还是要赞一下美橙的技术支持人员,回答、解决问题非常迅速、耐心。

mvc上传到云虚拟机的问题解决的更多相关文章

  1. Spring MVC上传文件

    Spring MVC上传文件 1.Web.xml中加入 <servlet> <servlet-name>springmvc</servlet-name> <s ...

  2. MVC上传文件

    ASP.NET MVC上传文件是必段撑握的知识.加强训练才是.以前Insus.NET曾使用第三方MyAjaxForm.js :http://www.cnblogs.com/insus/p/378548 ...

  3. Spring MVC 上传文件

    Spring MVC上传文件需要如下步骤: 1.前台页面,form属性 method设置为post,enctype="multipart/form-data"  input的typ ...

  4. MVC:上传文件

    今天写了一个使用MVC上传的DEMO,很简单不超过10行代码.代码如下(关注重点,所以尽量精简掉其他代码): 项目结构

  5. 百度editor调用【图片上传阿里云】

    百度editor调用简单,但是图片和文件上传阿里云就有点难度了.下面我详细说一下. 百度富文本编辑器下载地址:http://ueditor.baidu.com/website/download.htm ...

  6. asp.net mvc上传头像加剪裁功能

    原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jqu ...

  7. mvc上传头像加剪裁功能

    asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery ...

  8. ASP.NET Core MVC上传、导入、导出知多少

    前言 本君已成夜猫子,本节我们来讲讲ASP.NET Core MVC中的上传,这两天才研究批量导入功能,本节顺便简单搞搞导入.导出,等博主弄妥当了再来和大家一并分享. .NET Core MVC上传 ...

  9. .Net mvc 上传多文件

    .net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略.. 调试环境 vs2017 控制器代码: [HttpPost] publ ...

随机推荐

  1. js基础篇——cookie使用要点

    1.Cookie数量和长度的限制.各个浏览器的限制不同IE7+和Firefox最大限制为50条,chrome和Safari无限制,IE6-最大限制20条.且所有浏览器限制每个cookie长度不能超过4 ...

  2. .NET魔法堂:工程构建基石->MSBuild

    一.前言 MSBuild是一个既熟悉又陌生的名字,Visual Studio的项目加载和构建均通过MSBuild来实现.VS中右键打开项目菜单,对应MSBuild的Build目标,对应MSBuild的 ...

  3. 【原创】.NET Web API之filter ActionFilterAttribute 过滤器使用

    1.在filter类里面引用,与MVC里面的不同 using System.Web.Http.Controllers; using System.Web.Http.Filters; 2.filter类 ...

  4. VS2012 JSON、XML自动生成对应的类

    在VS编辑下拉框中,选择选择性粘贴(Paste Special)

  5. 在QTableWidget中添加QCheckBox并使其居中显示(转)

    实现思路:把QCheckBox嵌入式到一个水平布局中 QWidget *widget;   QHBoxLayout *hLayout;   QCheckBox *ckb;   ...   ckb =  ...

  6. SQL SERVER与C#中数据类型的对应关系

    对应关系表 SQL Server2000 http://hovertree.com/menu/sqlserver/ C# CodeSmith 数据类型 取值范围 数据类型 取值范围 空值代替值 数据类 ...

  7. HTML 5 Web 存储

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储sessionStorage - 针对一个 session 的数据存储 html5 web sto ...

  8. C#的变迁史 - C# 2.0篇

    在此重申一下,本文仅代表个人观点,如有不妥之处,还请自己辨别. 第一代的值类型装箱与拆箱的效率极其低下,特别是在集合中的表现,所以第二代C#重点解决了装箱的问题,加入了泛型.1. 泛型 - 珍惜生命, ...

  9. Lesson: The "Hello World!" Application

    Lesson: The "Hello World!" Application The sections listed below provide detailed instruct ...

  10. mvc jquery 修改 viewbag

    [HttpGet]        public ActionResult Modify(int id)        {            Books mod=db.Books.Where(b = ...