簡體   English   中英

SharePoint 2010:從生產數據設置本地開發環境-由於無效的PublicKeyToken無法加載文件或程序集

[英]SharePoint 2010: Setting up a local dev environment from production data - Could not load file or assembly due to invalid PublicKeyToken

我嘗試了多種方法來將生產SharePoint內容獲取到運行在VM Windows Server 2008 R2上的新安裝的本地開發環境中。 在導出場和還原失敗后,我遇到了此博客文章,並遵循了以下說明: http: //richardstk.wordpress.com/2012/02/03/build-a-sharepoint-2010-development-test-environment / 綜上所述,它基本上是在備份實時SQL Content數據庫以及Profile,Sync和Social數據庫,然后將它們還原到開發機上,並指向SharePoint使用這些新數據庫,而不是舊數據庫。 然后,我將自定義Webpart從Visual Studio部署到開發服務器。

我已經做到了,而且看起來效果很好。 我可以訪問Central Administrator以及在Visual Studio中設置SharePoint連接並能夠查看所有頁面,列表,文檔等。因此,它肯定指向新的內容數據庫。 我應該提到我也可以通過SharePoint Designer連接並訪問所有正確的內容,母版頁,列表等。

我遇到的問題是,當我在瀏覽器中轉到站點時出現“無法加載文件或程序集”錯誤,它將我帶到/Pages/Home.aspx。 該文件是我從Visual Studio內部署的自定義Webpart。 當我在GAC中查看時,我看到列出的程序集,但是PublicKeyToken與錯誤消息中顯示的程序集不同。

當我進一步研究它時,會看到自定義用戶控件已在我的母版頁中注冊,並且當我查看_controltemplates目錄中的ascx文件時,會出現一個類似於以下內容的程序集:

<%@ Assembly Name="BlogRoll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=529e9730fe2a198d" %>

當我在GAC中查看時,該PublicKeyToken對實時站點是正確的,但是當我將其部署到本地GAC時,它創建了一個新的PblicKeyToken。 抱歉,如果我正在逛街,但是我不確定什么是相關的,什么是無關的。

我想我的問題是如何處理? 在本地更改所有ascx文件以匹配我在本地GAC中擁有的新PublicKeyToken似乎並不明智,因為當我將這些更改部署到實際環境時,它們將找不到合適的程序集。 處理此問題的最佳方法是什么?

更新

有問題的代碼具有一個key.snk文件,用於對其進行強簽名。 我的理解是,應該這樣做,以便每次使用特定的PublicKeyToken對其進行編譯,並因此使用特定的PublicKeyToken將其安裝在GAC中。 如果是這樣,那么我認為它在我的開發環境中與生產環境中具有不同的密鑰令牌的唯一原因是所提供的key.snk文件不正確。 真的嗎?

您可以使用WSP Builder或WinGac將具有正確PublicKeyToken的程序集強制部署到本地GAC。

暫無
暫無

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

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