WebPart部署时,“Unable to load one or more of the requested types.”错误的解决
我利用VS2008,部署自己开发的WebPart时,出现以下错误:
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
原因:
使用了第三方厂商生成的控件,或者是因为旧版本的Visual sudio生成的控件。由于.Net Framework将控件序列化成XML(resx文件),新版本的Visual sudio只能反序列化新版本的resx文件,对第三方或旧版本的resx文件不能反序列化。
解决方法:
- 在VS2008中打开该控件,然后删除其对应的resx文件。
- 稍微修改一下控件,然后保存,生成新的resx文件。
- 重新编译,就可以部署了。
昨天的这个方法貌似起作用了,但今天又出现了同样的问题,但是动用了上述方法,也无法解决。查了一下,又发现一个问题。
原因:
VS在使用第三方产品时,使用反射机制。CAS中没有相应的拷贝时,将引起此错误。
解决方法:
先将该DLL文件通过gacutil命令拷贝到CAS中,然后部署就可以。注意的是,在VS中直接部署前,必须要重起VS。