0

実稼働SharePointコンテンツを、VM Windows Server2008R2で実行されている新しくインストールしたローカル開発環境に取り込むための複数の方法を試しました。ファームのエクスポートと復元が失敗した後、私はこのブログ投稿に出くわし、次の手順に従いました:http: //richardstk.wordpress.com/2012/02/03/build-a-sharepoint-2010-development-test-environment /。要約すると、基本的には、ライブSQLコンテンツデータベースとプロファイル、同期、およびソーシャルデータベースをバックアップし、それらを開発マシンに復元し、SharePointに古いデータベースの代わりにこれらの新しいデータベースを使用するように指示します。その後、VisualStudio内から開発サーバーにカスタムWebパーツを展開しました。

私はこれを行いました、そしてそれはかなりうまくいくようでした。Central Administratorにアクセスできるだけでなく、Visual Studio内でSharePoint接続を設定して、すべてのページ、リスト、ドキュメントなどを表示することもできます。したがって、これは間違いなく新しいコンテンツデータベースを指しています。SharePoint Designerを介して接続し、すべての正しいコンテンツ、マスターページ、リストなどにアクセスすることもできます。

私が抱えている問題は、ブラウザでサイトにアクセスすると「ファイルまたはアセンブリを読み込めませんでした」というエラーが表示され、/ Pages/Home.aspxに移動することです。このファイルは、VisualStudio内から展開したカスタムWebパーツです。GAC内を見ると、アセンブリがリストされていますが、PublicKeyTokenはエラーメッセージに表示されているものとは異なります。

もう少し掘り下げてみると、カスタムユーザーコントロールがマスターページに登録されていることがわかります。また、_controltemplatesディレクトリにあるascxファイルを見ると、次のようなアセンブリがあります。

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

そのPublicKeyTokenは、ライブサイトでGACを見ると正しいのですが、ローカルGACにデプロイすると、新しいPblicKeyTokenが作成されました。とりとめのない場合は申し訳ありませんが、何が関連していて何が関連していないのかわかりませんでした。

私の質問はこれをどのように処理するかです。ローカルGACにある新しいPublicKeyTokenに一致するように、すべてのascxファイルをローカルで変更するのは賢明ではないようです。これらの変更をライブにデプロイすると、適切なアセンブリが見つからないためです。これを処理するための最良の方法は何ですか?

アップデート

問題のコードには、強力な署名に使用されているkey.snkファイルがあります。私の理解では、これにより、毎回特定のPublicKeyTokenでコンパイルされ、特定のPublicKeyTokenでGACにインストールされるようになります。それが本当なら、私の開発環境と本番環境で異なるキートークンを持つ唯一の理由は、提供されたkey.snkファイルが正しくないことだと思います。本当?

4

1 に答える 1

0

WSP BuilderまたはWinGacを使用して、正しいPublicKeyTokenを使用してアセンブリをローカルGACに強制的に展開できます。

于 2013-02-21T00:19:51.693 に答える