1

(この質問は、こちらの MSDN フォーラムにクロス投稿されています。)

私はカスタムの SharePoint/Commerce Server サイトで作業しており、機能レシーバーで CheckoutStepsList テンプレートを使用して、モジュールを介していくつかのページをプロビジョニングし、チェックアウト ステップのリストをプロビジョニングするという 2 つのことを行うように設計されたカスタム機能を持っています。ただし、何らかの理由で、特定のケースでは、リストの作成で例外がスローされます。

ファイル名が無効です

指定したファイル名は使用できませんでした。既存のファイルまたはディレクトリの名前であるか、ファイルにアクセスする権限がない可能性があります。

リストに移動しようとすると、リストの設定ページ (既定のビューがあるはずです) に移動し、リストには項目がありません。そのため、リストを途中でプロビジョニングしたように見えますが、途中でクラッシュしました。

この問題を再現するのはやや困難です。コマンド ラインで stsadm コマンドを使用して機能をアクティブ化すると、常に失敗しますが、SharePoint UI を使用してアクティブ化すると、失敗する場合としない場合があります。モジュールを介してプロビジョニングされているページがまだ存在しない場合、UI を介したクラッシュがより頻繁に発生するようですが、それについてはまだわかりません。

問題のあるコードは次のとおりです。

SPListTemplateCollection listTemplateCollection = web.Site.GetCustomListTemplates(web);
SPListTemplate checkoutStepsTemplate = listTemplateCollection["CheckoutStepsTemplate"];
Guid listID = web.Lists.Add(listName, String.Empty, checkoutStepsTemplate); // the exception is thrown on this line

ここで何が起こっているのか分かりますか?私はこれをデバッグし続けます。問題の診断に役立つ情報があれば喜んで提供します。

4

1 に答える 1

0

この問題の完全な解決策は見つかりませんでしたが、問題を十分に診断して、許容できる回避策を見つけました。問題は、同じ機能のモジュールを介して要素をプロビジョニングするときにのみ発生したことが判明しましたが、それらのモジュールが別の機能に含まれている場合、すべてが正常に機能しました。

問題の根本的な原因を突き止めたのはここまでですが、少なくとも今後問題が発生しないようにするには十分な修正です。

于 2009-05-26T17:48:51.110 に答える