我想将.net库从框架版本4.5降级到.net 4.0.
我有几个libs安装使用nuget:
> Microsoft.AspNet.WebApi.Client和它的依赖关系:
> Newtonsoft.Json
> System.Net.Http(Microsoft .Net 4 HTTP客户端库)
我做以下:
>在我的解决方案中的每个项目的设置中,我将目标框架设置为4.0.之后,我尝试重建我的解决方案,但当然没有成功,因为错误类型或命名空间名称“Newtonsoft”找不到(你缺少一个using指令或程序集引用?),HTTP客户端库
>使用nuget ui manager我删除了依赖关系并尝试重新安装.但是有一个错误无法安装软件包’Microsoft.AspNet.WebApi.Client 5.1.1′.您正在尝试将此程序包安装到一个目标为“.NETFramework,Version = v4.0”的项目中,但是
包不包含与该框架兼容的任何程序集引用或内容文件.有关更多信息,请联系包作者.
解决方法
.NET 4.5是.NET 4.0的就地升级,这意味着CLR是相同的,但是添加了新的库,以及错误修复和性能改进,并且都是
指向.NET CLR 4.
指向.NET CLR 4.
在您的情况下,由于.NET 4.5已经安装,所以4.5更新完全取代了.NET 4.0运行时.
即使您将项目更改为.NET 4.0,内部使用的库仍然指向4.5,但仅限于可用于4.0的行为,但行为可能与您不同
期待纯.NET 4.
所以为了将你的项目从4.5降级到4.0,我同意你的意见,你需要:
>将.NET框架重新安装到.NET 4(如果您不再需要.NET 4.5)
>更改项目指向.NET 4
>重写.NET 4不支持的部分代码
(例如在您的情况下,Microsoft.AspNet.WebApi.Client 5.1.1来自WebApi2
.NET 4.5,您需要将其降级为使用.NET 4提供的方式
)