あいまいなパズルですが、それは私を完全に夢中にさせています:
MOSS でカスタムの情報管理ポリシーを作成しています。IPolicyFeature を実装しました。私のポリシー機能は、新しい SPItemEventReceiver を構成することでうまく登録されます。ライブラリ内のすべての新しいアイテムは、必要に応じてイベントを発生させ、すべて正常に動作します。
IPolicyFeature にはメソッド ProcessListItem もあり、これは既にライブラリにあるアイテムにポリシーをさかのぼって適用することになっています (少なくとも、それが を返し続ける限り、それを行うことになっていますtrue)。そうでないことを除いて。ポリシーはライブラリの最初のアイテムにのみ適用されますが、その理由はまったくわかりません。
例外をスローしているようには見えず、最初のアイテムの処理から実際に true が返され、他に何を見ればよいかわかりません。誰?
編集:以下のCoryの答えは、私を正しい軌道に乗せました。他の何かが実際に失敗していました.windbg-fuが本来あるべきものではないため、何が原因かわかりませんでしたが、「反復中にコレクションを変更する」ようなものだったと思います。私のコードは、ProcessListItem に渡された SPListItem を変更し、それに対して SystemUpdate を呼び出していました。コードを変更して独自の変数(まったく同じSPListItemを指す)を作成し、それを使用するとすぐに、問題は解決しました...