2013-11-14 3 views
0

기능을 비활성화 할 때 프로그래밍 방식으로 콘텐츠 형식을 삭제하고 싶습니다. 내가 삭제를 수행하는 코드를 작성했습니다기능을 수행하는 동안 콘텐츠 형식을 삭제하십시오.

SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 
     using (SPWeb webSite =(SPWeb)properties.Feature.Parent) 
     { 
      webSite.AllowUnsafeUpdates = true; 
      // Get the obsolete content type. 
      SPContentType obsolete = webSite.ContentTypes["Examples8888 - CT1"]; 

      // We have a content type. 
      if (obsolete != null) 
      { 
       IList<SPContentTypeUsage> usages = SPContentTypeUsage.GetUsages(obsolete); 

       // It is in use. 
       if (usages.Count <= 0) 
       { 
        obsolete.Delete(); 
        // Delete it. 
        Console.WriteLine("Deleting content type {0}...", obsolete.Name); 
        webSite.ContentTypes.Delete(obsolete.Id); 
       } 
      } 


     } 
    }); 

을하지만 그것은 나에게 오류를 제공합니다

The content type is part of an application feature. 

이 콘텐츠 유형은 임의의 장소에서 사용되지 않는 아직도 내가 그것을 삭제할 수 없습니다입니다.

이 오류를 해결할 방법이 있습니까? 모든 참조뿐만 아니라 모든 휴지통에서 삭제하고 제거됩니다

덕분에, 프리 야

+0

이 콘텐츠 유형은 삭제하려는 동일한 기능의 일부입니까? 어쩌면이 콘텐츠 유형이 전에 제거 되었습니까? –

답변

0

이 있는지 확인합니다.

예를 들어 콘텐츠 형식을 참조하는 목록이 삭제되면 휴지통으로 이동되고 sharePoint는 여전히 참조를 봅니다. 모든 휴지통 (최종 사용자 및 사이트 모음)에서 삭제하고 다시 시도하십시오.