SharePoint【调试,诊错系列】-- 在当前站点集或子网站中找到功能 {GUID} 中定义的 ID 为 0x0100GUID的内容类型
2013-02-21 14:48
183 查看
问题描述:
在测试环境上部署了一个包含ContentType的解决方案,VS2010修改内容后想重新部署,死活部署不上去了:错误日志内容如下:
SPException thrown: Message: 在当前站点集或子网站中找到功能 {b7edbfe2-c02e-4560-b314-b23c7b049d10} 中定义的 ID 为 0x0100983A544EBE5040C28C797562907C29F2 的内容类型。. Stack: 在 Microsoft.SharePoint.Utilities.SPUtility.ThrowSPExceptionWithTraceTag(UInt32 tagId, ULSCat traceCategory, String resourceId, Object[] resourceArgs) 在 Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionFieldsAndContentTypes
查了资料说是需要加入Overwrite=”True”,测试后发现如果首次部署的时候就加入Overwrite,那么后面的就没问题。
但是这个只针对最开始就加的有效,如果是报错后再加入,激活时会报的错误更恶心:
部署步骤“激活功能”中出现错误:
这位同志跟我遇到了同样的问题:http://www.go4answers.com/Example/missing-content-types-central-128297.aspx
解决方案:
最后结合以下两篇文章解决问题:第一篇解释原因,没太看懂
第二篇讲解决方法:数据库删除
操作如下:
1.SQL查找到之前部署过的ContentType
SELECT [SiteId]
[code] ,[Class]
,[Scope]
,sys.fn_varbintohexstr([ContentTypeId]) as CT
,[Version]
,[NextChildByte]
,[Size]
,[Definition]
,[ResourceDir]
,[IsFromFeature]
FROM [WSS_Content].[dbo].[ContentTypes]
where (sys.fn_varbintohexstr(ContentTypeId) LIKE '0x0100983a544ebe5040c28c797562907c29f2%')
[/code]
2.修改字段 IsFromFeature 为0
Update [WSS_Content].[dbo].[ContentTypes]
[code]SET [isfromFeature]= 0
where (sys.fn_varbintohexstr(ContentTypeId) LIKE '0x0100983a544ebe5040c28c797562907c29f2%')
[/code]
3.将不带Overwrite=”True”的解决方案重新部署一遍,这时候会报错,但ContentType已经部署上去了,到网站设置中找到部署的内容类型,删除掉:
4.再回SQL查询,结果已经为空
5.接下来,在VS2010中给ContentType添加Overwrite=”True”后重新部署,以后再部署解决方案应该就不会报错了
备注:加入Overwrite=”True”后,数据库表中的Definition字段里面有值,不知道系统是不是就是根据这个来判断是否可重写的
相关文章推荐
- 在当前站点集或子网站中找到功能 {GUID} 中定义的 ID 为 0x0100GUID的内容类型
- SharePoint【调试,诊错系列】-- 使用代码获取当前Request的CorrelationID
- SharePoint 中的列表定义类型名字及其对应的id(SPListTemplateType )
- SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型(1)--创建网站栏
- SharePoint 2013 图文开发系列之创建内容类型
- SharePoint列表跟字段类型,网站栏,内容类型的关系
- SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型(1)--创建网站栏
- SharePoint 2010 + Infopath 2010 VSTA + WF + Timer Job + BI 之 报销单实例系列------发布Infopath为内容类型并添加到库
- SharePoint列表跟字段类型,网站栏,内容类型的关系
- ID为GUID类型时使用ObjectDataSource控件的时候的未找到DataObjectTypeName属性的解决方法
- 今日内容介绍 1、自定义类型的定义及使用 2、自定义类的内存图 3、ArrayList集合的基本功能 4、随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 内容类型ID的规则
- SharePoint【调试,诊错系列】-- Correlation ID的使用
- sharepoint 2013 部署解决方案 此功能已在此服务器场中安装 ID 为 guid 的功能。请使用强制属性显式地重新安装
- 【c++系列】类型转换以及预处理器定义的常量(当前的文件名、行号、时间、日期)
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 2007 开发系列(22) SharePoint内容类型Content Types
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 2013 图文开发系列之创建内容类型