通过wsp将控件注册为安全的Sharepoint 2010

3
我使用VS2010创建了一个“Hello World”Sharepoint 2010解决方案,其中包含一个特性和一个包含标签的Webpart。我在VS2010中的Webpart的"属性"窗口中注册了Webpart作为安全控件。
当我将解决方案部署到本地服务器时,一切都很顺利!我可以将Webpart添加到页面中,在web.config文件中,我的控件已添加到SafeControls列表中。但是,当我将相同的解决方案安装到另一台服务器上时,我可以在可用Webparts列表中看到Webpart,但当我尝试将其添加到页面时,它告诉我它未注册为安全的。当我检查web.config文件时,没有我的控件条目。如果我手动添加一个(从我的开发服务器中),事情开始工作。
现在,我想知道为什么安装wsp文件时未注册该控件。wsp中的清单包含此行:
<Assemblies>
<Assembly Location="abc.TestWebPart.dll" DeploymentTarget="GlobalAssemblyCache">
  <SafeControls>
    <SafeControl Assembly="abc.TestWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e262c75e6f6e8440" Namespace="abc.TestWebPart.VisualWebPart1" TypeName="*" />
  </SafeControls>
</Assembly>

任何想法都非常受欢迎!

如果您转到“中央管理”>“系统设置”>“在其他服务器上管理农场解决方案”,您的wsp是否显示为已部署? - Rich Bennema
是的,解决方案已经正确部署,我可以在配置文件的安全部分手动添加控件后使用它们。 - Diana
有同样的问题,有什么想法吗? - Ybbest
遇到了相同的问题,不知道如何在本地重新生成。 - Prashant Lakhlani
3个回答

0

我知道回答晚了。

我认为您在SafeControl标记中漏掉了“Safe =“ TRUE”'。

正确代码:

<Assemblies>
  <Assembly Location="abc.TestWebPart.dll" DeploymentTarget="GlobalAssemblyCache">
    <SafeControls>
      <SafeControl 
        Assembly="abc.TestWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e262c75e6f6e8440" 
        Namespace="abc.TestWebPart.VisualWebPart1" 
        TypeName="*"
        Safe="TRUE" 
      />
    </SafeControls>
  </Assembly>
</Assemblies>

0

你启用了Web应用程序的功能吗?


0

检查拼写错误和版本差异。


我遇到了同样的问题,我已经在wsp清单中正确地添加了条目,因为我手动将相同的条目粘贴到web.config中,它可以正常工作。还有其他提示吗? - Prashant Lakhlani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接