有谁知道如何找到导致此错误的违规 Web 部件?
“此 Web 部件页上的 Web 部件或 Web 窗体控件无法显示或导入,因为它未在此站点上注册为安全的。”</p>
我继承了一个使用自定义 Web 部件的旧 SharePoint 2003 门户网站。
我知道这个错误意味着什么。我也知道每个 Web 部件都必须在 web.config 中安装并注册为安全的。问题是我不知道缺少哪一个。当我尝试在 FrontPage 中打开页面时,我也遇到了同样的错误。
有谁知道如何找到导致此错误的违规 Web 部件?
“此 Web 部件页上的 Web 部件或 Web 窗体控件无法显示或导入,因为它未在此站点上注册为安全的。”</p>
我继承了一个使用自定义 Web 部件的旧 SharePoint 2003 门户网站。
我知道这个错误意味着什么。我也知道每个 Web 部件都必须在 web.config 中安装并注册为安全的。问题是我不知道缺少哪一个。当我尝试在 FrontPage 中打开页面时,我也遇到了同样的错误。
stsadm.exe -o enumallwebs -includewebparts
http://sharepointreporter.wordpress.com/
我相信需要更新到 Sp2,才能使用此命令。有问题的 Web 部件将在结果列表中显示为“缺失”。
在 QueryString 中使用 contents=1 从导致错误的页面中禁用/删除 WebPart。
我刚刚在MSDN上提出了同样的答案:
这个 stsadm 帮助我找到了 webpart 以任何方式被引用的位置:
stsadm -o enumallwebs -includewebparts > C:\temp\somelog.txt
然后您可以看到 Web 部件列在某个<Web Id=... Url=...>
XML 节点下,即您知道“罪魁祸首”网站。
那时,我为那些被遗忘的参考资料找到了一些原因:
webpart在罪魁祸首网站的某些子站点中使用,该子站点在快速列表或顶部栏中隐藏
该 webpart 已从罪魁祸首网站中删除,但仍位于“网站集回收站”中。您可以通过访问普通网站回收站,然后在顶部栏描述中查找其链接(“使用此页面恢复...的项目”)。顺便说一句,这个网站集回收站本身有两个视图:一定要检查它们。
在这两种情况下,我都通过使用 SharePoint Manager 浏览罪魁祸首网站获得了一些帮助。有了它,我可以很容易地发现一个被遗忘的子站点的存在,以及这个“二级回收站”的存在。
高温高压
尝试阅读以下内容:
http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=189
它应该为您提供一些解决问题的线索。本质上,您有一个未标记为安全且失败的控件。您很可能将其配置为工作,但上面的链接有其他可能的解决方案。
转到机器的事件查看器,您将能够看到错误条目。在大量条目中,您必须找出与您相关的条目,您将能够看到 sharepoint 站点尝试加载但失败的 webpart 的名称。如果您在事件查看器中阅读错误条目的完整描述,它将为您提供 web 部件的版本甚至 PublicKey Token。
我希望这有帮助!!!
在您的网址中,只需附加内容 = 1。这将为您提供所有已部署的 Web 部件。现在,您可以继续删除每个 Web 部件以查找导致问题的 Web 部件(确保您知道要重新添加 Web 部件)。
例如:如果 Url 是http://localhost:9000/default.aspx,请尝试使用http://localhost:9000?contents=1
或者,尝试创建一个新的 Web 部件页面,添加实际页面上的 Web 部件,然后检查哪个导致问题。这将避免更改实际页面。
希望这可以帮助。