我已经开始编写一个简单的功能来创建网站列和内容类型。如果我尝试激活此功能,它会给我错误值不在预期范围内并且没什么更多帮助。如果我删除ContentType标记,该功能就会激活,我可以看到新创建的帐户网站列。知道ContentType的错误是什么吗?

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Field
     ID="{345C9562-F0D9-4327-853B-5072E296823A}" 
     Name="Account"
     DisplayName="Account" 
     Type="Text" 
     Group="Accounts">
    </Field>
    <ContentType
     ID="0X010100"
     Name="Account Doc"
     Description="Account Doc"
     Version="0"
     Group="Account Types">
        <FieldRefs>
            <FieldRef 
              ID="{345C9562-F0D9-4327-853B-5072E296823A}"
              Name="Account"
              DisplayName="Account" />
        </FieldRefs>
    </ContentType>
</Elements>
有帮助吗?

解决方案

事实证明,SharePoint对ContentType标记的ID属性中的尾随 00 不满意。更改为01可以解决问题,或者只是在00之后在末尾添加GUID:

<ContentType
 ID="0x010100C8813FB7C4814B44BA7FD679120EF6F5"
 Name="Account Doc"
 Description="Account Doc"
 Version="0"
 Group="Account Types">
    <FieldRefs>
        <FieldRef 
          ID="{345C9562-F0D9-4327-853B-5072E296823A}"
          Name="Account"
          DisplayName="Account" />
    </FieldRefs>
</ContentType>

其他提示

它可能是资本“X”在您的内容类型ID?内置的是小写的,所以可能需要注意。

服务器日志是否为您提供有关SharePoint正在查找但未在此处找到的任何提示?

使用生成的GUID时,我有一个类似的错误消息,我忘记删除破折号(即使用0x0100042061F1-2366-45d8-A7DE-5B5078E87080而不是0x0100042061F1236645d8A7DE5B5078E87080)

有关内容类型ID的更多信息,请查看WSS 3.0 SDK或此MSDN文章: http://msdn.microsoft.com/en-us/library/aa543822.aspx

就我而言,我有一个基于任务类型的简单内容类型,还有一个额外的自定义字段。 vsewss部署非常糟糕,无法打包或部署解决方案。由于这是一个如此简单的部署,我只是用stsadm命令写了一个批处理文件来完成它。

可以在andrew connell MVP页面上找到要安装功能的批处理文件的示例。你刚才 删除并重新创建sp功能目录下的功能目录(12 hive \ template \ features \) 在那里复制功能和清单文件 cd到12 hive \ bin目录 stsadm -o activatefeature -filename \ feature.xml -force stsadm -o activatefeature -filename \ feature.xml -url IISRESET

这还没有失败。对于vsewss或任何其他来自where-ever-plex的包实用程序,不能说相同

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top