2010-10-08 22 views
3

我使用VS2010創建了「Hello World」Sharepoint 2010解決方案。它只包含一個功能,幷包含一個包含標籤的Web部件。我在web2010的「屬性」窗口中將該webpart註冊爲安全控件。Sharepoint 2010註冊控制安全通過wsp

當我將我的解決方案部署到本地服務器時,一切都很順利!我可以將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> 

任何想法都非常歡迎!

+0

如果你去管理中心>系統設置>其他服務器上的管理場解決方案,顯示您的WSP作爲部署? – 2010-10-14 12:28:29

+0

是的,解決方案已正確部署,並且在手動將它們添加到配置文件的安全部分後,我可以使用這些控件。 – Diana 2010-10-21 14:23:04

+0

得到了同樣的問題,任何想法? – Ybbest 2010-11-08 03:09:30

回答

0

檢查拼寫錯誤和版本差異。

+0

我得到同樣的問題,我得到他在wsp清單正確的條目,因爲我手動粘貼在web.config相同的條目,它的工作原理。任何其他提示? – 2011-12-30 13:16:11

0

您是否激活了網絡應用的功能?

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>