“此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”
2016-12-19 16:43 四毛的家 阅读(1430) 评论(1) 编辑 收藏 举报自从vs装了Resharper,看见提示总是手贱的想去改掉它。于是乎手一抖,把一个 可视web部件的命名空间给改了。
喏,从LibrarySharePoint.WebPart.LibraryAddEditFolder改为:LibrarySharePoint.WebPartOne.LibraryAddEditFolder
作为老司机,我知道我干了什么,直接用SPD打开目标页面,修正如下:
<%@ Register tagprefix="LibraryAddEditFolder" namespace="LibrarySharePoint.WebPartOne.LibraryAddEditFolder" assembly="LibrarySharePoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=03b32eb1965185be" %>
将web.config中注册相关代码修正如下(如果你有多台服务器,请在每一台都修改一遍):
<SafeControl Assembly="LibrarySharePoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=03b32eb1965185be" Namespace="LibrarySharePoint.WebPartOne.LibraryAddEditFolder" TypeName="*" Safe="True" SafeAgainstScript="False" />
再次打开页面,竟然还是报错。好吧,看来许久不玩手生了,逼我放大招了。因为报错页面有其他内容,为了避免影响,所以新建一个webpart页面,尝试将此webpart添加进来,报错如下:
---------------------------
来自网页的消息
---------------------------
此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。
---------------------------
确定
---------------------------
嗯,比较常见的报错,大概知道幺蛾子出在什么地方了,找到下面路径
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\你自己的feature名字\你自己的webpart文件夹名字
比如我的:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\LibrarySharePoint_Feature1\LibraryAddEditFolder
找到xxxx.webpart,用记事本打开,修改如下(如果你有多台服务器,请在每一台都修改):
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="LibrarySharePoint.WebPartOne.LibraryAddEditFolder.LibraryAddEditFolder, LibrarySharePoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=03b32eb1965185be" />
<importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
</metaData>
….. ……
</webPart>
</webParts>
再次访问,完美。
(别忘记在vs里也修改你的xxx.webpart文件哦,不然下次部署后还报错~)