.Net Framework 4.0和.Net Framework 4.0 Client Profile之间差异引起的错误
来源:互联网 发布:全球卫星电视直播软件 编辑:程序博客网 时间:2024/04/30 06:03
遇到问题
首先描述一下自己在开发中遇到的一种情况:
我自己有个类库,主要是将自己开发中积累。但是近期将类库升级到Visual Studio 2010下竟然不能够使用了,在Visual Studio2008下正常,很是蛊惑,怎么可能呢?是2010的bug吗?不会啊,现在是正式版,别人都没有说过这个bug啊,肯定是自己哪弄错了。
解决问题
我的类库是Cmj.dll,而我要用的项目是ConfigTools项目,ConfigTools是直接用VS2010建立的新项目,选择的是.Net Framework 4.0版本的框架。而类库最初是用VS2010打开自动升级的,后来在ConfigTools中不能使用我就新建了一个类库Cmj用的.Net Framework 4.0版本框架。但是在ConfigTools中使用还是不行。
经过反复试我发现,我新建另一个类库(同样是4.0版本),里面只有一个类在ConfigTools中是可以使用的。怎么会这样呢?是我的类库Cmj本省有问题吗?我于是再建立一个Cmj类库一个一个添加类,然后在ConfigTools项目中使用。结果发现当我添加到类IIS7时Cmj类库不能够使用了,而这个类唯一特别之处就是用到了Microsoft.Web.Administration这个在C:/Windows/System32/inetsrv下的类库文件,这个引用是自己找到路径C:/Windows/System32/inetsrv选择的Microsoft.Web.Administration.dll,也就是添加引用时.Net标签页里面没有是在Browse中选择的。但是为什么会这样啊,首先这个引用应该不是什么特殊的第三方控件啊(或者它不算第三方的吧)?以前也会引用第三方控件库啊(那试也没有这问题啊)?
好了,是不是这个组件在我的Cmj中使用了,再将Cmj类库添加到ConfigTools中就不行了?注意在Cmj类库中可以正常使用的。于是干脆直接将Cmj中IIS7这个类添加到ConfigTools中,不引用Cmj中的了,再添加上Microsoft.Web.Administration.dll。这样总可以了吧,在Cmj中都能用Microsoft.Web.Administration.dll,在ConfigTools中肯定可以啊,心想。
但是竟然说找不到Microsoft.Web.Administration,天啊!怎么可能呢?到底是什么错误呢?虽然问题没有解决但是我却有种将要发现问题的感觉?估计是这两个项目(Cmj类库项目和ConfigTools windows窗体项目)版本差异。于是我点击Cmj项目属性发现在Application标签页中Target Framework是.Net Framework 4.0,这是正常啊,我建立项目的时候选择的就是.Net Framework 4.0,然后再看ConfigTools的竟然是.Net Framework 4.0 Client Profile ,于是修改成.Net Framework 4.0在ConfigTools中可以使用Microsoft.Web.Administration了,当然肯定我也可以直接引用我的Cmj类库了。
分析原因
错误原因很简单,就是.Net Framework 4.0 Client Profile中不能使用Microsoft.Web.Administration。而且提醒大家的是你在建立项目时虽然选择.Net Framework 4.0但是在Target Framework中却是.Net Framework 4.0 Client Profile(至于我的Cmj为什么是.Net Framework 4.0 我真的不记得但是做什么操作了,后来我又试了试建立.Net Framework 4.0 类库,然后查看Target Framework时确实是.Net Framework 4.0 Client Profile)。
再顺便说说.Net Framework 4.0 和.Net Framework 4.0 Client Profile区别吧:.Net Framework 4.0毫无疑问就像是.Net Framework 2.0一样是.Net Framework 的 4.0版本;而.Net Framework 4.0 Client Profile是.Net Framework 3.5 sp1的子集,是.Net Framework 4.0 简化版,是面向客户端应用程序的(估计这也是为什么不能够使用IIS7 API的原因)。
- .Net Framework 4.0和.Net Framework 4.0 Client Profile之间差异引起的错误
- .Net Framework 4.0和.Net Framework 4.0 Client Profile之间差异引起的错误 .
- .NET Framework 4.0 Client Profile
- .Net Framework Client Profile 和 .Net Framework
- .Net Framework 4.0 和.Net Framework 4.0 Client Profile 的区别
- Microsoft .NET framework 4.0 client Profile
- NET Framework Client Profile
- .NET Framework Client Profile
- .NET Framework 4 Client Profile
- .NET Framework 4和.NET Framework 4 Client Profile的区别与联系
- .NET Framework 4和.NET Framework 4 Client Profile的区别与联系
- .NET Framework 4 与 .NET Framework 4 Client Profile
- .NET Framework 4 Client Profile 安装慢
- .NET Framework Client Profile 导致的引用失效
- 使用.NET Framework Client Profile 导致的引用失效
- .NET Framework Client Profile 导致的引用失效
- .NET Framework 4 与 .NET Framework 4 Client Profile的区别与联系
- Introducing .NET Framework 3.5 SP1 Client Profile Preview
- 清华计算机类学习资料
- ASP.NET中cookie读写方法介绍
- linux开机自动运行设置
- shell 注意
- 在CENT OS 上编译安装NGINX+PHP+MYSQL
- .Net Framework 4.0和.Net Framework 4.0 Client Profile之间差异引起的错误
- linux常用c函数 文件权限控制篇
- 正则表达式高级技巧
- 配置SQL Server2005 express与jdbc连接
- acm pku 1107 W's Cipher的具体实现方法
- 有道难题2010练习赛2;
- 转:在Linux上查字典
- 学习Jquery中学到的一些知识点
- 《仇富》