首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DD4T TBB发布内容时出现序列化错误

使用DD4T TBB发布内容时出现序列化错误
EN

Stack Overflow用户
提问于 2013-01-09 09:27:56
回答 1查看 640关注 0票数 1

我们从源代码管理重新构建了DD4T TBB,并使用TCMUploadAssembly.exe将它们部署到tridion中。

我们创建了一个包含多媒体链接字段、组件链接字段和文本字段的简单组件,并填充了这些值。然后创建一个包含生成动态组件的CT,发布组件TBB的二进制文件,并尝试发布一个DCP。

我们能够在模板生成器中针对组件运行CT,并获得预期的输出,即格式化良好的序列化组件XML输出。

但是,在发布时,我们会得到一个序列化错误。(见下文)。此错误发生在代码试图序列化任何组件字段(文本/多媒体/组件链接等)时。

我们无法找出根本原因。尝试远程调试代码,即使在序列化我们所面临的组件对象时,所有dynamic.component对象属性都已正确设置。甚至尝试重新启动COM +、publisher服务,但问题仍然存在。任何指点都是非常感谢的。

无法找到为什么代码在模板构建器中正确运行,没有序列化错误,但在发布时失败,导致以下错误。

以下是错误消息:

生成XML文档时出错。 生成XML文档时出错。 对象引用未设置为对象的实例。 组件:模板 错误代码:0 用户: NORD\DWTMTSUser StackTrace信息详细信息: 在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterField.XSArrayInfo.get_Item(Object a,Int32 i) 在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterField.Write13_Field(String n,字符串ns,对象o,布尔isNullable,布尔needType) 在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterField.Write14_Field(Object o) 在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,对象o,XmlSerializerNamespaces名称空间,字符串encodingStyle,字符串id) 在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,Object o) 在DD4T.ContentModel.SerializableDictionary`3.WriteXml(XmlWriter作家( D:\DW-Source\Mainline\Src\DD4T\DD4T.ContentModel\SerializableDictionary.cs:line 80版) 在System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable可串行化,字符串名称,字符串ns,布尔isNullable,布尔包装) 在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write13_Component(String n处,字符串ns,组件o,布尔isNullable,布尔needType)在第0行 (在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write32_Component(Object o)中:第0行 (在Microsoft.Xml.Serialization.GeneratedAssembly.ComponentSerializer.Serialize(Object objectToSerialize,XmlSerializationWriter编写器)中:第0行 在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,对象o,XmlSerializerNamespaces名称空间,字符串encodingStyle,字符串id) 在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,对象o,XmlSerializerNamespaces名称空间,字符串encodingStyle,字符串id) 在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,Object o,XmlSerializerNamespaces名称空间,String encodingStyle) 在System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,Object o,XmlSerializerNamespaces名称空间) 在DD4T.Templates.Base.BaseComponentTemplate.Transform(Engine引擎上,包装包装)在D:\DW-Source\Mainline\Src\DD4T\DD4T.Templates.Base\BaseComponentTemplate.cs:line 88中 在Tridion.ContentManager.Templating.Assembly.AssemblyMediator.Transform(Engine引擎,模板,包包) 在Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.RunTemplate(Engine引擎,包包,字符串templateUri,字符串className) 在Tridion.Templating.CSharpTemplate.CSharpSourceTemplate.Transform(Engine __engine,Package __package) 在Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.Transform(Engine引擎,模板,包包) 在Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template模板,包包)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-09 13:19:07

奎里恩的回答对你有帮助吗?https://groups.google.com/d/msg/dynamic-delivery-4-tridion/K0BzzPovUz4/1RvTHFHktukJ

此外,如果有多个发布者,请确保将DD4T.Templates.Base.dll添加到所有发布者的GAC中。(如果你选择了Q答案的选项2)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14231975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档