我是sharepoint 2013的新成员:
在我从visual studio创建的sharepoint解决方案中,我创建了一个包含我的解决方案的数据模型的项目:我在这个项目中添加了自定义字段,自定义类型以及我的解决方案所需的自定义列表。
然后我在这个项目中创建了3个功能:
第一个功能网站范围功能包含我的解决方案的所有自定义类型和自定义字段,其名称为 Feature_ContentTypes_Fields 。< / p>
网站范围功能的第二个功能包含我自定义列表的所有列表定义 (其中我添加了&#34;其中name是Feature_ContentTypes_Fields&#34;作为功能激活依赖项 ,其名称为 Feature_ListDefinitions 。
网络范围功能的最后一项功能包含自定义列表的所有列表实例 (其中我添加了&#34; Feature_ListDefinitions& #34;作为功能激活依赖项 ,其名称为 Feature_ListInstances 。
结果:
1 /成功构建。
2 /部署失败
以下是Visual Studio在部署解决方案时的输出:
------ Build build:Project:Model,Configuration:Debug any CPU ------ Model - &gt; C:\ Users \用户名为myusername \桌面\ ProxymSPIntranet \ SPIntranet \型号\ BIN \调试\ Model.dll 在以下位置成功创建了包: C:\ Users \用户名为myusername \桌面\ ProxymSPIntranet \ SPIntranet \型号\ BIN \调试\ Model.wsp ------部署已启动:项目:模型,配置:调试任何CPU ------活动部署配置:默认跳过部署步骤,因为未指定预部署命令。回收IIS 应用程序池:回收IIS应用程序池&#SharePoint; - 1111&#39; ...撤回解决方案:停用功能 &#39; Model_Feature_ListDefinitions&#39; ...停用功能 &#39; Model_Feature_ContentTypes_Fields&#39; ......收回解决方案 &#39; model.wsp&#39; ...删除解决方案&#39; model.wsp&#39; ...添加解决方案:
添加解决方案&#39; Model.wsp&#39; ...部署解决方案&#39; Model.wsp&#39; ...
激活功能:激活功能&#39; Feature_ContentTypes_Fields&#39; ...激活功能&#39; Feature_ListDefinitions&#39; ......激活 功能&#39; Feature_ListInstances&#39; ...部署步骤出错 &#39;激活功能&#39;:无法完成此操作。请再试一次。 ==========构建:1成功或最新,0失败,0跳过========== ==========部署:0成功,1失败,0跳过==========
有人可以帮我吗?
答案 0 :(得分:3)
检查列表实例是否包含在任何其他功能中,因为当您向解决方案添加sp相关项目时,visual studio会自动将其添加到功能中。
-OR -
列表定义的元素文件应包含以下内容:
<ListTemplate
Type="10999"
检查它们是否与列表实例的元素文件属性一致:
<ListInstance
TemplateType="10999"
他们应该是一样的。 类似地,内容类型元素文件将具有以下属性:
<ContentType ID="0x0100E8F7E7893379472DB2522B0FCDF0C836"
这应该与列表实例的Schema.xml文件中的内容类型ID相同:
<List Url="Lists/FlatStructuredNavigationListDefinition" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/" EnableContentTypes="TRUE" RootWebOnly="TRUE">
<MetaData>
<ContentTypes>
<ContentType ID="0x0100E8F7E7893379472DB2522B0FCDF0C836"
检查这些并部署这应该工作我有同样的问题。
答案 1 :(得分:1)
在我的情况下,部署问题与Field节点的Name属性有关。我使用空格的Name属性,SharePoint不知何故不喜欢。没有给出任何错误,但我注意到当我在Schema.xml文件中注释了Field节点时,部署工作。所以我花了很多时间尝试调试它,最后我发现删除空格就行了。所以不要写
< Field Name="My Field Name" >
写
< Field Name="MyFieldName" >