2012-07-10 39 views
0

我對SharePoint 2010相當陌生,我在2007年有過一些經驗,但只調試和修復了一些小錯誤。Sharepoint部署新列以列出

假設我爲VS2010中的SP 2010創建了一個新的解決方案,並添加了一個功能來創建一些列表定義以及這些列表定義模板的一些列表實例。這些都是通過Schema.xml聲明=>

我部署成功,並添加一些項目到我的新列表。

現在我想添加一些額外的列(字段)到我的列表中,我將如何部署它們?

我不想在代碼中創建它們,我想要有一個最新的解決方案,每個新開發人員通過簡單的部署就可以創建一個運行良好的開發環境。

在這種情況下進行部署的正確方法是什麼?

回答

1

如果您爲列表定義了schema.xml文件,那麼您確實想使用列表定義中的集合添加新列。您還希望確定您的列表是由內容類型定義的,以便重複使用。因此,在您的schema.xml文件中,它看起來像這樣:

<List xmlns:ows="Microsoft SharePoint" Title="Test List" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/Test-List" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <MetaData> 
    <ContentTypes> 
     <ContentType ID="0x010068a2e063a1a74913a37ecdb61ab2c721" Name="Test" Group="Custom Content Types" Description="Test Description" Inherits="TRUE" Version="0"> 
     <FieldRefs> 
      <FieldRef ID="{c2f80e7d-666e-4273-8b58-d5c8a13a9d6a}" Name="Col1" ShowInNewForm="TRUE" Required="TRUE" ShowInEditForm="TRUE"/> 
      <FieldRef ID="{a84d620a-d42d-455c-8ef8-7e9f1d443250}" Name="Col2" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE"/> 
      <!-- Your new field refs here here --> 
     </FieldRefs> 
     </ContentType> 
    </ContentTypes> 
    <Fields> 
     <Field ID="{c2f80e7d-666e-4273-8b58-d5c8a13a9d6a}" Type="Text" AllowDeletion="FALSE" Description="Key" AllowDuplicateValues="FALSE" EnforceUniqueValues="TRUE" Indexed="TRUE" Name="Col1" DisplayName="Col1" Group="Custom Columns" /> 
     <Field ID="{a84d620a-d42d-455c-8ef8-7e9f1d443250}" Type="Text" AllowDeletion="FALSE" Name="Col2" DisplayName="Col2" Group="Custom Columns" /> 
     <!-- Your new fields here --> 
    </Fields> 
    ... 
    </MetaData> 
</List> 

不要忘記更改您的視圖!

+0

嗨,對不起,延遲響應,連接關閉。鑑於您的解決方案,當我將添加新列和部署解決方案時,新列將被添加以保留當前數據? – Zapacila 2012-07-11 12:22:57