2

VS2010 を介してそれらを参照するいくつかのサイト列とコンテンツ タイプを作成しました。フィールドの 1 つを更新してから再デプロイしようとしましたが、撤回した後、以前に作成したサイト列がまだそこにあったため、デプロイに失敗しました。UI から手動で削除しようとしたところ、次のメッセージが表示されたアラート ボックスが表示されました。

コンテンツ タイプに含まれるサイト列は削除できません。削除する前に、このサイト列へのすべての参照を削除してください。

SharePoint Manager を調べてみましたが、参照が見つからなかったので、powershell を使用してすべてのコンテンツ タイプとリストを列挙し、サイト列への参照を探しましたが、何も見つかりませんでした。

次のようにPowerShellを使用して削除しようとしました:

$web.Fields.Delete("StartTime")

このエラーが発生しました:

Exception calling "Delete" with "1" argument(s): "Site columns which are included in 
content types or on lists cannot be deleted. Please remove all instances of this site 
column prior to deleting it."
At line:1 char:19
+ $web.Fields.Delete <<<< ("StartTime")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

最後に、PowerShell の列を簡単に調べると、次のことがわかります。

Title                               Id                                                         CanBeDeleted ParentList                                                       Sealed ListsFieldUsedIn                   
-----                               --                                                         ------------ ----------                                                       ------ ----------------                   
Start Time OBE                      6fa0d85b-9af1-408b-835f-d4c66536...                                True                                                                   False {}                                 
Time Tracker Tags                   92bc866b-0415-45f0-b431-d4df69c4...                                True                                                                   False {}                                 

私は MOSS 2007 の経験があり、SP2010 は初めてですが、これが起こるのを見たことはありません。誰にもヒントはありますか?

4

5 に答える 5

2

私はこれと同じ問題を抱えていて、SharePoint Designer を使用して削除できました。

于 2012-02-18T21:43:29.297 に答える
2

SharePoint 2010 でも同様です。見てみてください:

$field.AllowDeletion = $TRUE
$field.Update()

私がそれを設定したとき、うまくいくように見えました。私の主張を証明するために、今はそれを複製することはできません. 典型的。

于 2011-02-22T01:43:10.477 に答える
0

久しぶりにこの問題から抜け出しましたが、最終的な答えは、SPMで取り上げられなかった特定のサイト列に依存するコンテンツタイプがあったことだと思います。

サイトからすべてのカスタムを撤回すると、正常に削除できたと思います。

于 2012-02-28T22:25:00.843 に答える
0

私のガイダンスでは、使用中のサイト列は決して削除しないでください。サイトの列またはコンテンツ タイプを削除しようとすると問題が発生するため、サイト コレクションが完全に使用できなくなるのを見てきました。

サイト列が不要になった場合は、非表示にしてください。

于 2015-02-06T13:55:15.283 に答える