1

「Web」スコープ内に単純な WebPart とカスタム リストを展開する SharePoint 機能を構築しています。

  1. ソリューションが展開されると、リストは [サイトの操作] -> [サイトの設定] -> [カスタム リスト] ですぐに利用できます。
  2. リストのインスタンスを作成しようとすると、「ファイルが見つかりません」というメッセージが表示されます
  3. この機能を有効にすると、リスト テンプレートの 2 番目のコピーがカスタム リストの見出しに追加されます。
  4. どちらのリストも同じ「ファイルが見つかりません」エラーで作成できません
  5. 機能を無効にすると、1 つのリスト テンプレートが消えます
  6. ソリューションを撤回すると、最後のリスト テンプレートが消える

関連するファイル:

  • schema.xml の長さは 5000 行です
  • feature.xml は次のとおりです。
<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="78a8eaad-2160-434c-81c2-6c5f7ce94ade" Title="WeekWidget" Description="Displays A, B or H based upon a configurable SharePoint List." Version="1.0.0.0" Creator="Cardinal Newman Catholic School // Richard Slater" Scope="Web" ImageUrl="WeekWidget\WeekWidgetLogo.jpg" xmlns="http://schemas.microsoft.com/sharepoint/" DefaultResourceFile="core">
  <ElementManifests>
    <ElementManifest Location="ListTemplates\WeekCalendar.xml" />
    <ElementFile Location="WeekCalendar\Schema.xml" />
  </ElementManifests>
</Feature>
  • WeekCalendar.xmlは次のとおりです
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ListTemplate Name="WeekCalendar" DisplayName="Week Calendar" Description="List of Weeks." BaseType="0" Type="100" OnQuickLaunch="TRUE" SecurityBits="11" Sequence="410" Image="/_layouts/images/itgen.gif" />
</Elements>

「ファイルが見つかりません」というエラーは別の問題の兆候だと思いますが、ソリューションの展開時にリスト テンプレートを追加するべきではありません。私は何を間違っていますか?

4

2 に答える 2

1

すべての機能ファイルを自分で配線していますか、それともツールを使用していますか? 通常、404 は、構成ファイル内の「魔法の文字列」の 1 つがオフになっていることを意味します。また、ここで指定されたディレクトリ構造は疑わしいようです。

<ElementManifests>
  <ElementManifest Location="ListTemplates\WeekCalendar.xml" />
  <ElementFile Location="WeekCalendar\Schema.xml" />
</ElementManifests>

すべての機能サポート ファイルを同じディレクトリに配置してみてください。ULS ログ (<12 hive>/LOGS) でエラーを見つけましたか? それもいくつかの手がかりを提供するかもしれません。

于 2009-04-05T09:20:18.247 に答える
1

問題は別のディレクトリ構造に関連している可能性があると思います-私は通常、すべてのリストファイルを同じフォルダーに展開します(あなたの場合、schema.xmlとweekcalendar.xml;リストディレクトリからfeature.xmlを保持します)。

詳細ログを有効にし、12 ハイブ ログをチェックして、見つからないファイルを確認します。

schema.xml を調べて、リスト要素の name 属性が、機能を格納しているフォルダーの名前と一致していることを確認してください。また、この要素の Url 属性にも注意してください...VSeWSS はリバース エンジニアリングされるリストの名前に URL を設定するので、「pages\viewpage.axp」に変更します。

schema.xml 内の既定のビュー要素で、SetupPath="pages\viewpage.aspx" を追加してみてください。そこにも WebPartZoneId="Main" 属性があることを確認してください。

于 2009-07-30T00:56:49.067 に答える