更新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时遇到的问题及解决的更多相关文章

  1. VS2010 下 将 EntityFramework 的版本从 4.0 升级到 5.0

    1. 下载安装 EF 5.x DbContext Generator for C# : 下载地址:https://visualstudiogallery.msdn.microsoft.com/da74 ...

  2. 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 ...

  3. [转]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 ...

  4. ASP.NET WebApi 依赖 SAP Connector dll 报错

    说明 本地 VS 开发 ASP.NET WebApi 调试运行没有问题,但发布到服务器 IIS 上就报错.结果发现是 SAP 依赖库的问题:sapnco.dll.sapnco_utils.dll. 错 ...

  5. PDF 文件编写器 C# 类库(版本 1.28.0)使用详解

    PDF File Writer 是一个 C# .NET 类库,允许应用程序创建 PDF 文件. PDF File Writer C# 类库使 .NET 应用程序能够生成 PDF 文档.该库使应用程序免 ...

  6. 连表查询都用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%我不知道在 ...

  7. MVC 程序在编译时提示 GAC与 Temporary ASP.NET Files目录内引用文件版本不一致

    今天在调试Mvc程序时,提示GAC与Temporary ASP.NET Files目录内引用文件版本不一致. [A]System.Web.WebPages.Razor.Configuration.Ho ...

  8. ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法

    原文:ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法 本文只是个人的理解和学习记录,如果觉得本 ...

  9. 彻底解决Asp.netCore WebApi 3.1 跨域时的预检查204 options重复请求的问题

    Asp.netCore WebApi 3.1 跨域的预检查options问题 1:我们直接使用core跨域的中间件 ,注入跨域服务, services.AddCors(options => { ...

随机推荐

  1. git使用简单教程

    废话不多说,直接开始 1. 进入https://github.com/ 创建你的账号,然后开始创建一个你的仓库(基本概念请自行百度),比如jun. 2. 创建好仓库之后,下载git 3,设置git,就 ...

  2. 【redis】redis 在 windows 下安装使用

    1.安装 windows 下 redis 可用客户端 : http://redisdesktop.com/download ; 或在 github 上下载 redis zip 包,解压包到某个目录并在 ...

  3. 学霸网站-Beta版本发布说明

    项目名称 学霸网站 项目版本 Beta 项目团队 ourteam 发布日期 2015-1-5 一.Alpha版本实现功能简介: 1.匿名提问 2.匿名回答 3.采纳功能 4.登录.注册失败后,用户名等 ...

  4. Ceph剖析:定时器safetimer的实现

    定时器的作用是在指定的时间执行指定的动作.SafeTimer通过multimap数据结构维护定时项,定时项是时间和事件的Pair,定时项在map中按照定时时间从小到大排列.此外,SafeTimer使用 ...

  5. Markdown: 用写代码的思维写文档

    作者:吴香伟 发表于 2014/08/07 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 本文不讲解Markdown的语法规则,只关注它带来的好处以及我使用的方 ...

  6. arch 安装图形界面

    图形界面的安装.--- 引导: .显卡驱动,这里我们是集成显卡,根据wiki提示安装xf86-video-intel .安装xorg-server,xorg-server-utils,xorg-xin ...

  7. XMLHttpRequest cannot load file:///E:/userdialog.html?_=1465888805734. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-reso

    做前端写静态页面时,采用的是jq easyui框架 在ie与webkit总是加载的时候总是在loading... 而firefox却是正常加载的,总以为是代码写错了, 经过再三的检查以及百度查找,确认 ...

  8. OD使用教程3

    reverseMe爆破: 跳转指令 让跳转已实现,把z的1改成0 按F8走,继续把z的1改成0,实现跳转 根据跳转指令,改变s或o,使跳转不实现 指令如上使跳转不实现 继续按f8往下走然后成功  

  9. awk 的一些用法

    awk,我觉得是Linux里面处理文本最精妙的命令,它是一个行处理的命令,它最初级的用法是:给定一些简单的pattern,然后按照这个pattern 去搜索匹配的行.它的高级用法是用awk来编程,除了 ...

  10. java8 ArrayList源码阅读

    转载自 java8 ArrayList源码阅读 本文基于jdk1.8 JavaCollection库中有三类:List,Queue,Set 其中List,有三个子实现类:ArrayList,Vecto ...