将asp.net webapi的运行时版本由4.0升级到4.5.1时遇到的问题及解决
更新package
更改.net运行时的版本之后,出现了错误提示,说需要改新以下组件:
EntityFramework,
EntityFramework.zh-Hans,
Microsoft.AspNet.Mvc,
Microsoft.AspNet.Mvc.zh-Hans,
Microsoft.AspNet.Razor,
Microsoft.AspNet.Razor.zh-Hans,
Microsoft.AspNet.WebApi.Client,
Microsoft.AspNet.WebApi.Client.zh-Hans,
Microsoft.AspNet.WebApi.Core,
Microsoft.AspNet.WebApi.Core.zh-Hans,
Microsoft.AspNet.WebApi.WebHost,
Microsoft.AspNet.WebApi.WebHost.zh-Hans,
Microsoft.AspNet.WebPages,
Microsoft.AspNet.WebPages.zh-Hans,
Microsoft.Net.Http,
Newtonsoft.Json
更新的方法为:
vs中,打开 工具 => nuget程序包管理器 => 程序包管理器控制台,然后在里面一行一行地输入以下的更新指令。
Update-Package Microsoft.AspNet.WebApi -Version 5.2.2 #汉化包
Update-Package Microsoft.AspNet.WebApi.Client.zh-Hans -Version 5.2.2
Update-Package Microsoft.AspNet.WebApi.Core.zh-Hans -Version 5.2.2
Update-Package Microsoft.AspNet.WebApi.WebHost.zh-Hans -Version 5.2.2 Update-Package EntityFramework -Version 6.0.1
Update-Package EntityFramework.zh-Hans -Version 6.0.1 Update-Package Microsoft.AspNet.Mvc -Version 5.2.2
Update-Package Microsoft.AspNet.Mvc.zh-Hans -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.HelpPage -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.OData -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.Tracing -Version 5.2.
上面package的版本号参考了vs2013中的webapi项目模板中的版本号。以下是由项目模板生成的packages.config文件的内容:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net451" />
<package id="AutoMapper" version="4.0.0" targetFramework="net451" />
<package id="bootstrap" version="3.0.0" targetFramework="net451" />
<package id="jQuery" version="1.10.2" targetFramework="net451" />
<package id="log4net" version="2.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Cors" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net451" />
<package id="Microsoft.AspNet.Web.Optimization.zh-Hans" version="1.1.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Cors" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
<package id="Modernizr" version="2.6.2" targetFramework="net451" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net451" />
<package id="Respond" version="1.2.0" targetFramework="net451" />
<package id="WebGrease" version="1.5.2" targetFramework="net451" />
</packages>
引入这些包的过程中,vs有可能提示要重启vs,请重启vs。
错误:“未能找到元数据文件”
更新完package之后,重新编译,有可能出现“未能找到元数据文件”。
解决的方法是找到出错的项目,然后去掉报错的引用项,然后再重新引用。
错误:预定义的类型"Microsoft.CSharp.RuntimeBinder.Binder"未定义或未导入 错误
再次编译,有可能出现错误提示“预定义的类型"Microsoft.CSharp.RuntimeBinder.Binder"未定义或未导入” ,解决的方法是:
(1)用记事本打开项目文件(后缀名为 .csproj ),找到<ItemGroup>项,可能会找到多个,选择其中一个,在里面加入
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
(2)保存项目文件,然后重新加载项目项目文件。
错误:[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 [B]System.Web.WebPages.Razor.Configuration.HostSection。
出现这个问题的原因是因为配置文件中与razor有关的版本号不对。以下是解决方法:
(1)将web.config中的
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
</appSettings>
改为:
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
</appSettings>
(2)将Views文件夹下的web.config中的
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
改为:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
参考资料:
A quick tutorial on the Update-Package command
Reinstalling Packages and its Pitfalls
将asp.net webapi的运行时版本由4.0升级到4.5.1时遇到的问题及解决的更多相关文章
- VS2010 下 将 EntityFramework 的版本从 4.0 升级到 5.0
1. 下载安装 EF 5.x DbContext Generator for C# : 下载地址:https://visualstudiogallery.msdn.microsoft.com/da74 ...
- OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service & Client
一.概念介绍 1.1,什么是OData? 还是看OData官网的简单说明: An open protocol to allow the creation and consumption of quer ...
- [转]OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service & Client
本文转自:http://www.cnblogs.com/bluedoctor/p/4384659.html 一.概念介绍 1.1,什么是OData? 还是看OData官网的简单说明: An open ...
- ASP.NET WebApi 依赖 SAP Connector dll 报错
说明 本地 VS 开发 ASP.NET WebApi 调试运行没有问题,但发布到服务器 IIS 上就报错.结果发现是 SAP 依赖库的问题:sapnco.dll.sapnco_utils.dll. 错 ...
- PDF 文件编写器 C# 类库(版本 1.28.0)使用详解
PDF File Writer 是一个 C# .NET 类库,允许应用程序创建 PDF 文件. PDF File Writer C# 类库使 .NET 应用程序能够生成 PDF 文档.该库使应用程序免 ...
- 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式
连表查询都用Left Join吧 最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...
- MVC 程序在编译时提示 GAC与 Temporary ASP.NET Files目录内引用文件版本不一致
今天在调试Mvc程序时,提示GAC与Temporary ASP.NET Files目录内引用文件版本不一致. [A]System.Web.WebPages.Razor.Configuration.Ho ...
- ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法
原文:ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法 本文只是个人的理解和学习记录,如果觉得本 ...
- 彻底解决Asp.netCore WebApi 3.1 跨域时的预检查204 options重复请求的问题
Asp.netCore WebApi 3.1 跨域的预检查options问题 1:我们直接使用core跨域的中间件 ,注入跨域服务, services.AddCors(options => { ...
随机推荐
- Volley设计思想和流程分析
本文是对Volley思路的整体整理,并不是Volley教程,建议有Volley使用经验,但是对Volley整体不是很清楚的同学阅读. 我认为,弄清整体的流程很重要,以避免一叶障目不见泰山的囧境,而对于 ...
- sql数据查询,在程序中较慢,在MS SQL2005 Management Studio中速度快,情况分析及解决
这两天遇到一个问题,在.net开发的网站,执行sql查询,从sql profiler中监控卡看,执行时间22s. 但是拷出的sql在Management Studio中直接执行,时间仅4ms. 解决方 ...
- [LeetCode][Java]Triangle@LeetCode
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- shell常用命令
wget wget -P /root url -O rename 实现文件下载指定目录和重命名
- modesim测试语句
: 'd2; Reg2 <= Reg1; i <= i + 1'b1; join : 'd2; i <= i + 1'b1; join : 'd2; Reg2 <= Reg1; ...
- Tp field 字段是可以添加函数的
$info = M('Order')->alias('a') ->field('count(DISTINCT(a.order_user_id)) as buy_user_num,count ...
- 查看应用程序使用的所有dll
VS2008命令提示符下: >dumpbin.exe /dependents <文件路径+文件名> □
- [学习笔记]坚果云网盘,SVN异地代码管理
SVN的好处不必多说了.但是如果希望有一份自己的用来学习和储备的代码仓库,那么能够异地同步是必不可少的了. 参考作者Mike_QSJ的文章,但是实际上做了很大的改动.一方面使用更常见的windows系 ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 开园第一篇 - 论移动开发环境 IOS与Android的差异
首先,在真正写技术之前做个自我简介.本人08年开始学c语言 一年后,转vc++.开始接触MFC MFC做了两年.转眼11年了我考上了一个不知名的大专.搞C++发现没有市场了因为当时酷狗腾讯的软件已经日 ...