代码改变世界

"IMEMode”属性无效 - 根据数据类型"http://schemas.microsoft.com/sharepoint/:IMEMode”,值""无效 - 枚举约束失败。

2011-11-30 12:35  四毛的家  阅读(1877)  评论(0编辑  收藏  举报

 

将网站另存为模板时出现了上面的错误。

经排查原因是一个栏的IMEMode属性值为空,将其添加为:inactive 然后重新打包成cab文件,手动将扩展名从cab改成wsp,再上传到解决方案库了就可以了。

下面是详细过程:

方法一:

1.在网站设置里将一个站点另存为模板,此时报错。查看日志文件,错误内容类似标题,"IMEMode”属性无效 之类的。

此时打开解决方案库(打开首要网站---网站操作--网站设置--库--解决方案),可以看到我们创建好的模板已经存在。只是无法激活,所以也就无法使用。

点击该模板,将其下载,可以看到是一个wsp文件,我的叫:erfuyuan.wsp

2.将erfuyuan.wsp改成:erfuyuan.cab,然后用winrar将其解压,文件结构如下图:

3,找到:1ListInstances/ElementsFields.xml 文件,然后用记事本将其打开,将所有IMEMode=“” 改成IMEMode="inactive"。然后将其保存

到此完成了文件修改,下面将我们解压后的erfuyuan文件夹重新打包成cab文件。这里推荐一个工具WinCAB.exe。下载地址http://www.xiazaiba.com/html/5264.html 或者百度搜索

首先,我是在xp系统下打包的,所以C:\WINDOWS\system32文件夹里已经有个makecab.exe,如果你的没有,请将其拷贝到该目录。

双击打开WinCAB.exe,然后点击选项,在弹出的窗口内勾选:包含子目录,包含空目录

然后选择菜单中的添加---添加目录,找到我们的erfuyuan文件夹,双击erfuyuan文件夹,然后点击确定按钮,这样就把所有内容添加到WinCAB.exe中了。

最后点击菜单中的文件--保存即可。我的默认是ok.cab文件。将其改成ok.wsp,并上传到解决方案库中,激活即可。然后你就可以通过新建网站来使用新的网站模板了。

 

 参考:http://blog.sina.com.cn/s/blog_700820800100n2nw.html

http://www.cnblogs.com/huigll/archive/2010/06/01/1749329.html

方法二:也可以考虑利用类似SharePoint Manager 2010的第三方工具,直接修改相关栏的IMEMode值。不过,你还是需要首先确定哪个栏导致的错误,方法就是下载wsp文件,更改扩展名为cab,解压,然后找到目标xml文件,搜索IMEMode,定位是哪个栏引起的即可。

我就是在方法一的基础上,才利用到这个工具的。相比之前,比方法一少了一步重新打包cab文件的后续步骤