2009-10-07 73 views
2

我們有一個Sharepoint項目,我們已經將項目的dll部署到了GAC。將Sharepoint項目Dll從GAC移動到Bin

我們已經看到最佳實踐是讓它們位於bin目錄中。這是基於這個問題的答案中的信息:Web part dll in Gac or bin using sharepoint 2007

我們必須採取哪些步驟才能做出此改變?

感謝

西拉

+0

請您詳細說明這些最佳實踐,參考或更多信息?謝謝。 – 2009-10-07 14:26:30

+0

@Magnus我已經更新了這個問題 – 2009-10-07 14:34:43

回答

3

本質上兩兩件事:

這允許SharePoint的完全信任程序集使用那些在部分信任(您的)下運行的程序集。

  • 編寫自定義代碼訪問安全文件並將其添加到SharePoint Web應用程序的web.config中。

如果你想正確地做,編寫你自己的CAS文件可能會非常棘手和容易出錯。如果您使用的工具如WSPBuilder它可以爲您自動創建一個,我強烈建議。否則,有一個written-by-hand guide here。一種「作弊」方法是編寫一份完全信任你的程序集的CAS文件,但這是違背本意的。

注意:某些SP構件(如事件處理程序)必須部署到GAC。

+0

你有這個倒退Alex。 APTC屬性被放置在目的地爲GAC的程序集上,因此部分信任的程序集(即在程序倉中)可以調用它們。在這種情況下,SharePoint程序集位於GAC中,並在適當的位置用APTC標記。 BIN中的程序集不需要此屬性(只要BIN不是fulltrust)。 – x0n 2009-10-08 13:00:28

+0

@ x0n:嗯,你有參考嗎?搜索「AllowPartiallyTrustedCallers Web部件」描述了使用APTC屬性部署到bin文件夾而不是GAC。 – 2009-10-08 13:16:48

+0

@alex:對不起 - 限制是強命名的程序集,不僅在GAC中(當我聽到強名稱時,我認爲「在gac中」);如果您的垃圾箱中的程序集具有強名稱,則需要使用完全信任的呼叫者,除非使用此屬性標記。儘管如此,你還是不太對勁。 fulltrust程序集(如sharepoint的)可以調用bin中的部分信任的強名稱程序集。只是非fulltrust程序集不能(例如bin中的其他程序集或ISAPI等) – x0n 2009-10-08 16:59:01