簡體   English   中英

WSPBuilder和用於Sharepoint母版頁的代碼

[英]WSPBuilder and Code behind for a Sharepoint Masterpage

我在Visual Studio中為自定義母版頁創建了文件背后的代碼。 我把所有東西都手工掛鈎了。 安全控制和自定義cas策略。 一切正常!

然后,我想使用WSPBuilder將其放入共享點解決方案中,以實現更好的部署。 我創建了WSP解決方案,添加了我的類文件,並將輸出目錄更改為bin文件夾。 然后,我構建了解決方案並進行了部署,請確保更改母版頁上的頁面指令以反映新的程序集名稱。

現在,當我去查看共享點站點時,出現錯誤,指出“安全異常”錯誤說明

“異常詳細信息:System.Security.SecurityException:該程序集不允許部分受信任的調用方。”

這讓我感到很困惑,因為它可以作為Visual Studio類文件部署到網站的bin目錄中。 但是,當我將其放入SharePoint解決方案中時,它就會崩潰! 我嘗試添加

'[程序集:System.Security.AllowPartiallyTrustedCallers]'

到AssemblyInfo.cs,但這沒有幫助。

有人對此有經驗或有任何建議嗎?

編輯:我還應該提到,背后的代碼正在嘗試訪問共享點列表。

您仍然不需要包括SafeControls條目才能使其正常工作,例如:

<SafeControl Assembly="[FullAssembly Name]"
                     Namespace="[YourMasterPageNamespace]"
                     TypeName="*"
                     Safe="True" />

或在WSPBuilder配置中:

<add key="BuildSafeControls" value="True" />

從來沒有見過..但是我懷疑沒有多少人在SharePoint的母版頁中創建代碼隱藏(Microsoft也不是!)。

我不知道您要構建什么,但是我可能會使用母版頁中包含的服務器控件來實現它。

AllowPartiallyTrustedCallers始終為我的服務器控件修復它。

您對web.config文件設置的信任是什么? 嘗試完整。

您可以嘗試檢查自己是否使用了完全合格的部分名稱,包括正確的公鑰標記和程序集的名稱空間。

您在打電話給第三方大會嗎?

最近,我遇到了一種情況,我正在使用第三方程序集,但其代碼中沒有AllowPartiallyTrustedCallers 當我嘗試使用組裝時,它會失敗。

您確定該程序集已被意外部署到bin而不是已部署到GAC嗎? 如果有兩個程序集,則GAC中的一個優先。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM