1

我在使自定義成員資格提供程序在SharePoint中工作時遇到問題。顯示登錄頁面,但是當我輸入任何憑據 - 對或錯 - 我得到以下錯誤:SharePoint 2010中的自定義MembershipProvider問題

The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047) (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\Root\web.config line 22)

第22行是我的會員提供配置在哪裏。它也在根網站web.config中配置(因爲它需要在每個虛擬目錄中配置)。如果我刪除第22行,那麼我得到錯誤抱怨提供程序不在每個web.config中,因此該部分似乎正在工作。

在同一個Web服務器上,我建立了一個默認的MVC項目並確認成員資格提供者工作正常。我知道SharePoint是至少部分加載它,因爲如果我讓它在構造函數中拋出一個異常,我會得到一個不同的錯誤(由調用等引發的異常),甚至不顯示登錄表單。

該DLL構建爲AnyCPU,針對.NET Framework 3.5,並位於GAC中。該服務器運行Windows 2008 R2(64位)。

任何人都可以指示我嘗試一個方向嗎?

+0

你可以發佈第22行嗎? – kbrimington 2010-08-05 23:41:07

+0

您是否嘗試過使用Visual Studio調試器來瀏覽成員資格提供程序代碼以查看它在哪裏爆炸? – CodeThug 2010-08-06 01:17:01

+0

@kbrim第22行只是我的會員提供商的定義,我相信這樣做很好,因爲我在其他Web應用程序中使用完全相同的行而沒有問題。 @Tim是的,我將調試器附加到所有w3svc進程,並沒有得到任何東西 – 2010-08-06 22:58:47

回答

0

您是否爲會員提供商輸入了<SafeControl>條目?

+0

我沒有,沒有。事實上,我不知道這是必要的:)我剛剛添加一個到web.config的虛擬目錄,我試圖登錄到,並沒有改變。 Web服務web.config中沒有定義SafeControls部分,這是拋出錯誤的位。 – 2010-08-06 23:08:19

+0

對於任何加載外部DLL的SharePoint應用程序,您需要在web.config中擁有SafeControl entyr。您是在SharePoint中還是在外部Web服務中收到錯誤?外部Web服務是否使用成員資格提供程序? – 2010-08-07 14:19:48

+0

輸入一些登錄信息後,錯誤來自Sharepoint。也許我會嘗試在更多地方添加SafeControl標籤。 – 2010-08-08 01:05:53

相關問題