2009-03-31 5 views
1

関連するリストインスタンスとリストインスタンスを持つWebPartをインストールするための機能を開発中です。次のメッセージがログに記録されたリストの展開に:IDを持つフィーチャの定義を判別できませんでした... - 不明GUID

Failed to determine definition for Feature with ID 
'cdca545a-333a-4b3f-ba15-ac3cdbb12312'. 
Skipping this feature for element querying consideration. 

(改行をわかりやすくするために追加された)

私は、問題のある機能を識別するための機能を検索勧め様々なブログ上の記事を読んだことがあります。

grep -S cdca545a-333a-4b3f-ba15-ac3cdbb12312 <path to \12\> 

も行います:私はサブディレクトリを検索をサポートgrepのバージョンをダウンロードしたSharepointの12ディレクトリを検索するには、しかし、次のコマンドは、私の開発VMやライブ・サーバーのいずれか上の任意の一致を見つけることができなかった

私の開発マシンは、機能が展開したが、リストには、私にはできません現時点ではWindows 2003ののSTSDev 2008

とR2、のWindows SharePointサービス3.0 SP1はVisual Studio 2008で構成さ

grep -S -i cdca545a <path to \12\> 

nstantiated、私は問題の根に到達するためにログファイルのノイズを処理しようとしています。

+0

自分の機能のID(cdca545a-333a-4b3f-ba15-ac3cdbb12312)にその機能IDが記載されていますか?誤って他の機能をSharePointの機能ディレクトリから削除した可能性があります。 – LeonZandman

+0

FeatureIDが自分の機能ではないため、明日は本番サーバーを確認します。 –

+0

ライブサーバーで見たことがありますが、そのGUIDがまだ見つかりません。 –

答えて

3

インストールした機能定義をSharePointファームで列挙できます。ここではインストールされた各機能の機能IDと表示名を出力しますいくつかのサンプルコードです:

SPFeatureDefinitionCollection featureDefinitions = SPFarm.Local.FeatureDefinitions; 
foreach (SPFeatureDefinition featureDefinition in featureDefinitions) 
{ 
    Console.WriteLine("{0}: {1}", featureDefinition.Id, featureDefinition.DisplayName); 
} 
+0

コードスニペットのおかげで、不幸にも、私の開発環境または本番サーバーのフィーチャーIDと一致するものはありません。プロフェッショナルのDev 33には31の機能しかありません。 –

+0

フィーチャーIDが見つかったのに何も見つからなかったので、12ハイブを検索しましたか? Grepを正しい方法で使用してもよろしいですか?通常(UNIX)のGrepは、再帰的な検索を行うために "-S"の代わりに "-R"パラメータを使用します。 – LeonZandman

+1

「stsadm -o uninstallfeature -id cdca545a-333a-4b3f-ba15-ac3cdbb12312 -force」を発行して機能をアンインストールしてみてください。 – LeonZandman

0

私はわからないんだけど、問題は、リストインスタンス機能に関連することができます。

フィーチャの要素マニフェストでは、リストインスタンスの作成時に使用するリスト定義を含むフィーチャを指し示す属性「FeatureId」を定義できます。

ここでは、2つの原因が考えられます。

  1. このFEATUREIDが定義されていない場合、機能は、リストの定義は同じ特徴(リストインスタンス機能)内で定義されていることを前提としています。定義とインスタンスに2つの分離した機能がある場合、このエラーが発生する可能性があります。

  2. すでに述べたように、FeatureIdは、使用するリスト定義を定義する機能のGUIDでなければなりません。おそらく、このGUIDを、リスト定義のFeatureIdではなく、MOSS内で作成されたリストインスタンス自体の識別子と仮定して、新しく生成されたGUIDに置き換えたとします。

私は決して自分自身でこの問題を抱えていませんでしたので、あなたのエラーの理由が何であるか推測できました。

多分、このblog entryはあなたのさらなる調査のお手伝いをするかもしれません。

関連する問題