2009-10-20 2 views
0

내가 여러 콘텐츠 형식 정의 다음 매니페스트 파일이있는 기능이 배치됩니다 :배포 3 ContentTypes - 만 2

<?xml version="1.0" encoding="utf-8" ?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ContentType ID="0x01008e5736f1388b4809a9f102da1e573ddb" 
       Name="$Resources:Balticovo,ContentType_AgendaName" 
       Group="$Resources:core,CustomContentTypesGroup" 
       Description="$Resources:Balticovo,ContentType_AgendaDescription" 
       Version="1"> 
    <FieldRefs> 
     <!-- Jautājumu pacēla--> 
     <FieldRef ID="{31b28519-c87e-4e0d-9c1b-d02c5e034cf9}" /> 
     <!-- Kam piešķirts --> 
     <FieldRef ID="{53101f38-dd2e-458c-b245-0c236cc13d1a}" /> 
     <!-- Saistītās personas --> 
     <FieldRef ID="{E5C80D9B-4E09-4457-A6A9-5A6F574DEDA5}" /> 
     <!-- Komentāri --> 
     <FieldRef ID="{6df9bd52-550e-4a30-bc31-a4366832a87f}" /> 
     <!-- Izpildīt līdz --> 
     <FieldRef ID="{cd21b4c2-6841-4f9e-a23a-738a65f99889}" /> 
    </FieldRefs> 

    <XmlDocuments> 
     <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/events"> 
     <spe:Receivers xmlns:spe="http://schemas.microsoft.com/sharepoint/events"> 
      <Receiver> 
      <Name>AgendaToTaskOnAdd</Name> 
      <Type>ItemAdded</Type> 
      <SequenceNumber>10000</SequenceNumber> 
      <Assembly>Balticovo.SharePoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5</Assembly> 
      <Class>Balticovo.SharePoint.AgendaToTask</Class> 
      <Data></Data> 
      <Filter></Filter> 
      </Receiver> 
      <Receiver> 
      <Name>AgendaToTaskOnUpdate</Name> 
      <Type>ItemUpdating</Type> 
      <SequenceNumber>10000</SequenceNumber> 
      <Assembly>Balticovo.SharePoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5</Assembly> 
      <Class>Balticovo.SharePoint.AgendaToTask</Class> 
      <Data></Data> 
      <Filter></Filter> 
      </Receiver> 
     </spe:Receivers> 
     </XmlDocument> 
    </XmlDocuments> 
    </ContentType> 

    <ContentType ID="0x0100AD4DFC626A3F4db492A4FCF91B0E47A0" 
       Name="$Resources:Balticovo,ContentType_ReglarAttendeeName" 
       Group="$Resources:core,CustomContentTypesGroup" 
       Description="$Resources:Balticovo,ContentType_ReglarAttendeeDescription" 
       Version="1"> 
    <FieldRefs> 
     <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Required="FALSE" Hidden="TRUE" /> 
     <FieldRef ID="{37D4FF81-9DE1-436a-B270-923E93258507}" /> 
    </FieldRefs> 
    <XmlDocuments> 
     <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/events"> 
     <spe:Receivers xmlns:spe="http://schemas.microsoft.com/sharepoint/events"> 
      <Receiver> 
      <Name>AddAttendeeToCurrentMeeting</Name> 
      <Type>ItemAdded</Type> 
      <SequenceNumber>10000</SequenceNumber> 
      <Assembly>Balticovo.SharePoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5</Assembly> 
      <Class>Balticovo.SharePoint.RegularAttendeesEventReceiver</Class> 
      <Data></Data> 
      <Filter></Filter> 
      </Receiver> 
     </spe:Receivers> 
     </XmlDocument> 
    </XmlDocuments> 
    </ContentType> 

    <ContentType ID="0x01008606FC8499F9407b83AF3DBAD6865F58" 
      Name="$Resources:Balticovo,ContentType_WebApplicationQueryName" 
      Group="$Resources:core,CustomContentTypesGroup" 
      Description="$Resources:Balticovo,ContentType_WebApplicationQueryDescription" 
      Version="1"> 
    <FieldRefs> 
     <FieldRef ID="{acbe30d6-ea25-40a2-b6e5-9df76e9c881e}" /> 
     <FieldRef ID="{6c732395-7404-4ad4-9b03-50195b70c006}" /> 
     <FieldRef ID="{cb16a530-21ca-43b1-b270-dbb33fa3f7a7}" /> 
     <FieldRef ID="{bd94a837-82ab-4a8b-b7df-9978cd35f9ec}" /> 
     <FieldRef ID="{c05e3059-b1fc-4116-8f7d-1cfde24b96f4}" /> 
     <FieldRef ID="{32fb6f25-cf6e-4e9c-8244-137d017c9348}" /> 
     <FieldRef ID="{e42ca75d-f017-4eb7-91a6-236dfd71017a}" /> 
     <FieldRef ID="{EAA39077-D6AF-464e-8052-9001B4E99834}" /> 
    </FieldRefs> 
    </ContentType> 

</Elements> 

그래서, 3 CT의가 있습니다를, 그러나 첫 번째 배포하지 않습니다 . SPWeb.AvailableContentTypes를 검사 할 때 사용할 수있는 CT가 없기 때문에 숨겨진 것이 아닙니다.

  • CType의 ID가 고유합니다.
  • 수신기 클래스는 공개적으로 입니다.
  • 참조 필드도 입니다.
  • 새로운 웹 응용 프로그램에서이 작업을 시도합니다.

오, 무엇이 잘못 될 수 있습니까?

+0

기능을 배포하고 활성화 할 때 추적 로그를 확인 했습니까? 필터링 할 정보가 많지만 SharePoint가 알려줍니다. 이 경로를 확인합니다. XML 주석은 ctype에 아무런 문제가 없으며 단지 이벤트 핸들러와 관련된 문제입니다. – Henrik

답변

1

해결되었습니다.

태그 사이의 이러한 <!-- --> 개의 주석은이 콘텐츠 형식이 배포되지 못하게합니다.

+0

이러한 주석 태그는 EventReceivers 내부의 문제이지만 CTypes xml 정의 안에는 없습니다. – Henrik

+0

글쎄, 내 경우 엔 content types.xml 정의에 문제가있다. 왜냐하면, 내가 그들을 제거하고 애플 리케이션 풀을 재활용 - 콘텐츠 유형은 즉시 나타났다. –