0

MySite のデフォルトの共有ポイント マスター ページを取得し、いくつかの変更を加え、WSPBuilder で wsp を作成すると、ログに次のエラーが表示されます。

http://spoint/MySite/_catalogs/masterpage/MySite.master - この Web パーツで予期しないエラーが発生しました。エラー: 仮想パス '_controltemplates/Welcome.ascx' を持つコントロールは、URL ' http://spoint/MySite ' の Web のセーフ コントロール リストにありません。ソース: [UnsafeControlException: 仮想パス '_controltemplates/Welcome を持つコントロール.ascx' は、URL ' http://spoint/MySite 'の Web のセーフ コントロール リストにありません(スタック トレースは省略されています)

http://spoint/MySite/_catalogs/masterpage/MySite.master - この Web パーツで予期しないエラーが発生しました。エラー: 仮想パス '_controltemplates/DesignModeConsole.ascx' を持つコントロールは、URL ' http://spoint/MySite ' の Web のセーフ コントロール リストにありません。ソース: [UnsafeControlException: 仮想パス '_controltemplates/DesignModeConsole を持つコントロール.ascx' は、URL ' http://spoint/MySite 'の Web のセーフ コントロール リストにありません(スタック トレースは省略されています)

したがって、このマスターページは実際にこれらの OOTB コントロールを使用しているため、それらを安全に制御する必要があると思います。そして、manifest.xml を介してこれを行いたいと思います。しかし、WSPBuilder にこれを行わせる方法がわかりません。

4

1 に答える 1

2

WSPBuilderは、「Control」クラスから継承するオブジェクトに対してのみSafeControlsタグを作成します。これは、WSPパッケージの処理を高速化するためです。簡単な修正は、webcontrolから継承し、ASCXと同じ名前空間を使用する空のクラスを作成することです。

于 2009-11-13T11:02:38.550 に答える