2

そこで、多数の Web パーツを含む VS プロジェクトを継承しました。プロジェクトには、パスワードが何であるかを誰も知らないパスワードを持つキー ファイルがありました。だから、明らかにPublicKeyTokenを変更する新しいキーファイルを作成しました...

新しいアセンブリを GAC にデプロイし、web.config の SafeControl 参照で古い PublicKeyToken を新しいものに置き換えるとうまくいくと思いました。ただし、サイトにアクセスすると、Web コントロールがまったく機能しません。それらはすべて「Web パーツ エラー...」と表示されます。

古い web.config safecontrol 参照の例を次に示します...

これが新しいものです...

「c:\windows\assembly」gac からアセンブリのプロパティを右クリックして表示することで、新しいトークンを取得しました...

私は何を間違っていますか..?

4

7 に答える 7

1

safecontrol の参照は表示されませんが、最初の健全性チェックとして、IIS を再起動することを覚えていましたか (GAC にデプロイするときに必要です)。

于 2009-02-14T15:02:06.330 に答える
1

アセンブリの厳密な名前を変更すると、システム (この場合は SharePoint) が変更されます。したがって、前の Web パーツは、パスワードが不明な snk を含むアセンブリの一部です。古いW​​eb パーツを含むすべてのページを再構成し、新しいWeb パーツを配置する必要があります。

于 2009-03-13T10:46:46.040 に答える
0

Web パーツが継承するクラスは何ですか?

SharePoint.WebPartPages クラスを使用すると、何かが壊れる可能性があります

public class yourWebPartClass : Microsoft.SharePoint.WebPartPages.WebPartPage

代わりに、System.Web.UI で WebControls クラスを使用します。

public class yourWebPartClass : System.Web.UI.WebControls.WebParts.WebPart

/ 乾杯 :)

于 2011-03-07T22:42:15.953 に答える
0

確認すべき点がいくつかあります....

やむを得ない理由がない限り、Web パーツを GAC にデプロイするのではなく、Web アプリケーションの bin フォルダーに配置する必要があります。これは、stsadm がそれらを配置する場所です。GAC に展開する場合は、bin フォルダーに Web パーツのアセンブリがないことを確認する必要があります。sharepoint は、使用するバージョン (GAC または bin) で混乱します。

Web アプリケーション構成ファイルで safecontrol として登録されていることを確認する必要があります。GAC に何かをデプロイするときは、必ず IISReset を実行する必要があります。

于 2009-02-15T17:21:36.693 に答える
0

テンプレート情報が複製され、データベースのデータに埋め込まれてしまうことは、WSS でよくある問題です。この一例は、各 Web インスタンスに複製される onet.xml ファイル内の定義です。もう 1 つは、ユーザーが Web パーツをページに追加した場合です。通常、厳密な名前を変更するということは、Web パーツが使用されているすべてのサイトを再作成する必要があることを意味します。

于 2009-02-15T19:18:16.943 に答える
0

VSeWSS 1.3 拡張機能をダウンロードして使用します。展開を含め、これはすべて自動的に行われます:-)

https://connect.microsoft.com/Downloads/Downloads.aspx?SiteID=428&wa=wsignin1.0

于 2009-02-15T17:10:44.207 に答える