Geo*_*Ego 11 sharepoint web-config web-parts safecontrols
我有一个SharePoint Web部件(实际上只是一个"Hello World"应用程序),我刚刚创建并且部署它时遇到问题.我签署了.dll,创建了.dwp,并在web.config中将其注册为安全控件.我可以将它添加到Web部件库并为其添加详细信息; 但是,当我尝试将其添加到页面时,我收到以下错误:
无法显示或导入此页面上的Web部件或Web窗体控件.无法找到该类型或未注册为安全类型.
以下是我的.dwp文件:
<?xml version="1.0"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
<Assembly>SimpleWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=################</Assembly>
<TypeName>MyWebParts.SimpleWebPart</TypeName>
<Title>My Simple Web Part</Title>
<Description>A simple Web Part</Description>
</WebPart>
Run Code Online (Sandbox Code Playgroud)
和我添加到web.config的条目:
<SafeControl Assembly="SimpleWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=################" Namespace="MyWebParts" TypeName="*" Safe="True" />
Run Code Online (Sandbox Code Playgroud)
我也尝试使用通配符作为命名空间,但没有帮助.我甚至尝试将web.config信任级别设置为"Full"(我不会在生产中做,但试图尝试缩小问题范围)并且仍然没有运气.有任何想法吗?谢谢.
Ari*_*iel 33
一种可能性是类型名称与.webpart文件不同步.对于前者
在.webpart文件中:
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Namespace.Class1, $SharePoint.Project.AssemblyFullName$" />
Run Code Online (Sandbox Code Playgroud)
并在.cs文件中:
namespace Namespace
{
public class Class2 : WebPart
Run Code Online (Sandbox Code Playgroud)
并在SharePointProjectItem.spdata文件中:
<SafeControl Assembly="Class2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9385058ce1ee51a9" Namespace="Namespace" TypeName="*" Safe="True" SafeAgainstScript="False" />
Run Code Online (Sandbox Code Playgroud)
你明白了:三重检查所有项目工件的名称一致性.
您是否使用 SharePoint 解决方案(.wsp 文件)部署 Web 部件? 如果您还没有,请查看WSPBuilder 。我们还使用SharePoint Installer 两者之间,部署中的很多问题(无论是人为错误还是其他原因),比如您的问题已经在我们的环境中得到解决。
| 归档时间: |
|
| 查看次数: |
79511 次 |
| 最近记录: |