用VS向SharePoint中部署自定义的Content Type

首先可以创建我们所需要的Site Column 【  http://www.cnblogs.com/wsdj-ITtech/archive/2012/08/12/2470219.html  】

Elements.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">  
  
  <!--Site Column:Article Attachments-->
  <Field
     ID="{7eccc4a3-a2f3-4557-93a1-279e436777c1}"
     Name="EricSunArticleAttachments"
     DisplayName="Article Attachments"
     Type="Note"
     Required="FALSE"
     Viewable="FALSE"
     Hidden="FALSE"
     RichText="FALSE"
     UnlimitedLengthInDocumentLibrary="TRUE"
     Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Article Author-->
  <Field
       ID="{49228b08-1a7a-424f-91c2-041bda4b6e91}"
       Name="EricSunArticleAuthor"
       DisplayName="Article Author"
       Type="Text"
       Required="FALSE"
       Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Article Author-->
  <Field
       ID="{c5281ad2-6370-4262-8e94-bce02b4f7221}"
       Name="EricSunArticleContent"
       DisplayName="Article Content"
       NumLines="6"
       Type="HTML"
       RichText="TRUE"
       RichTextMode="ThemeHtml"
       Required="FALSE"
       Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Article Summary-->
  <Field
       ID="{baba6eeb-83e3-4104-b07b-56a258ccb361}"
       Name="EricSunArticleSummary"
       DisplayName="Article Summary"
       Type="Text"
       Required="FALSE"
       MaxLength="256"
       Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Categories-->
  <Field
      ID="{be6756f5-7879-4bcc-a271-076f6d8ccda1}"
      Name="EricSunCategories"
      DisplayName="Categories"
      Type="LookupMulti"
      Mult="TRUE"
      Required="TRUE"
      List="Lists/EricSunCategoriesList"
      ShowField="Title"
      UnlimitedLengthInDocumentLibrary="FALSE"
      Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Category String-->
  <Field
       ID="{4010a1fb-4b31-4779-af01-77e5c14f8a11}"
       Name="EricSunCategoryString"
       DisplayName="Category String"
       Type="Text"
       Required="FALSE"
       Viewable="FALSE"
       Hidden="FALSE"
       Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Expiration Date-->
  <Field
      ID="{4e497534-ca46-4e24-8cde-71ab0ba1dcc1}"
      Name="EricSunExpirationDate"
      DisplayName="Expiration Date"
      Type="DateTime"
      Required="FALSE"
      Format="DateOnly"
      Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Published Date-->
  <Field
     ID="{664de09d-8d56-400b-a061-49c32b5d4681}"
     Name="EricSunPublishedDate"
     DisplayName="Published Date"
     Type="DateTime"
     Format="DateOnly"
     Required="FALSE"
     Group="Eric Sun Site Columns">
  </Field>

  <!--Site Column:Status-->
  <Field
       ID="{22a4abe4-f666-4aeb-8948-9ae2fe90fb31}"
       Name="EricSunStatus"
       DisplayName="Status"
       Type="Choice"
       Required="FALSE"
       Group="Eric Sun Site Columns">
    <CHOICES>
      <CHOICE>Work in Progress</CHOICE>
      <CHOICE>Pending Approval</CHOICE>
      <CHOICE>Published</CHOICE>
      <CHOICE>UnPublished</CHOICE>
      <CHOICE>Expired</CHOICE>
      <CHOICE>Archived</CHOICE>
    </CHOICES>
    <Default>Work in Progress</Default>
  </Field>

</Elements>


然后在SharePoint project中添加Content Type 继承Item的Content Type  【 http://www.cnblogs.com/wsdj-ITtech/archive/2012/09/01/2470274.html 】

Elements.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <!-- Parent ContentType: Item (0x01) -->
  <ContentType ID="0x0100E936A3148A534940B2935752F0BD896C" Name="EricSunArticleContentType" Group="Custom Content Types" Description="My Content Type" Inherits="TRUE" Version="0">
    <FieldRefs>
      <FieldRef ID="{7eccc4a3-a2f3-4557-93a1-279e436777c1}" DisplayName="Article Attachments" Required="FALSE" Hidden="FALSE" Name="EricSunArticleAttachments" />
      <FieldRef ID="{49228b08-1a7a-424f-91c2-041bda4b6e91}" DisplayName="Article Author" Required="FALSE" Name="EricSunArticleAuthor" />
      <FieldRef ID="{c5281ad2-6370-4262-8e94-bce02b4f7221}" DisplayName="Article Content" Required="FALSE" Name="EricSunArticleContent" NumLines="6" />
      <FieldRef ID="{baba6eeb-83e3-4104-b07b-56a258ccb361}" DisplayName="Article Summary" Required="FALSE" Name="EricSunArticleSummary" />
      <FieldRef ID="{4010a1fb-4b31-4779-af01-77e5c14f8a11}" DisplayName="Category String" Required="FALSE" Hidden="FALSE" Name="EricSunCategoryString" ReadOnly="TRUE" />
      <FieldRef ID="{4e497534-ca46-4e24-8cde-71ab0ba1dcc1}" DisplayName="Expiration Date" Required="FALSE" Name="EricSunExpirationDate" Format="DateOnly" />
      <FieldRef ID="{664de09d-8d56-400b-a061-49c32b5d4681}" DisplayName="Published Date" Required="FALSE" Name="EricSunPublishedDate" Format="DateOnly" />
      <FieldRef ID="{22a4abe4-f666-4aeb-8948-9ae2fe90fb31}" DisplayName="Status" Required="FALSE" Name="EricSunStatus" />
      <FieldRef ID="{be6756f5-7879-4bcc-a271-076f6d8ccda1}" DisplayName="Categories" Required="TRUE" Name="EricSunCategories" />
    </FieldRefs>
  </ContentType>
</Elements>


这样与此同时再创建相应的Feature,把对应的Site Columns 和 Content Type都部署到SharePoint中,那么此Content Type就可以应用到相应的List中了。

网上搜索了一篇更加详细的 请看: http://www.cnblogs.com/wsdj-ITtech/archive/2012/09/01/2470274.html 

http://msdn.microsoft.com/en-us/library/gg295290(v=office.14).aspx

原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/2891949.html