最近在做项目时,需要用到系统的加密函数。其中需要用到对system.web.dll的引用,可在添加引用中无论如何也找不到System.Web.dll这个引用。详细Goolge了一番,才发现问题的原因,记录下来以供有同样问题的同学参考:
VS2010对于非Web程序,默认采用了Client Profile,并对桌面程序作了优化,其中之一就是移除了一些不用的framework component。简而言之,加了Client Profile的.NET Framework是不加的子集或者说是精简版(Compact Version)。
为什么要引入这个简化版本呢?
1.减少.NET Framework以及包还.NET Framework的应用程序的部署时间;
2.减少.NET Framework部署的失败;
3.减少.NET Framework在ISV软件的所占大小,从而给其软件更多的空间;
4.减少安装了.NET Framework Client Profile的系统受攻击的“界面”,因为Client Profille中部包括ASP.NET和一些服务器所要的组件;
总之,就是Client Profile的Framework更小更精简了。
最后,在项目属性中将 [目标框架] 更改为.NET Framework 4,这样就可以在引用中正确找到System.Web.dll了。