我使用 VS2010 创建了一个“Hello World”Sharepoint 2010 解决方案。它只包含一个功能和一个包含标签的 Web 部件。我在 VS2010 的 Web 部件的“属性”窗口中将 Web 部件注册为安全控件。
当我将解决方案部署到本地服务器时,一切正常!我可以将 webpart 添加到页面,并且在 web.config 文件中我的控件被添加到 SafeControls 列表中。当我在不同的服务器上安装相同的解决方案时,我可以在可用 Web 部件列表中看到该 Web 部件,但是当我尝试将它添加到页面时,它告诉我它没有注册为安全的。当我检查 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>
任何想法都非常受欢迎!