2012-07-10 43 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