을 사용하여 콘텐츠를 게시하는 동안 일련 화 오류가 발생했습니다. 소스 컨트롤에서 DD4T TBB를 다시 작성하고 TCMUploadAssembly.exe를 사용하여 tridion에 배포했습니다.DD4T TBB의
우리는 멀티미디어 링크 필드, 구성 요소 링크 필드 및 텍스트 필드가있는 간단한 구성 요소를 만들고 값을 채 웁니다. 그런 다음 [동적 구성 요소 생성, 구성 요소의 바이너리 게시] TBB를 사용하여 CT를 작성하고 단일 DCP를 게시하려고했습니다.
우리는 우리가 직렬화 오류가 게시 할 때 그러나 [즉 잘 형식의 직렬화 된 구성 요소의 XML 출력]
을 템플릿 빌더의 구성 요소에 대한 CT를 실행하고 예상 출력을 얻을 수 있습니다. (아래 참조). 이 오류는 코드가 모든 구성 요소 필드 (텍스트/멀티미디어/구성 요소 링크 등)를 직렬화하려고하는 동안 발생합니다.
근본 원인을 식별 할 수 없습니다. 이 문제를 직면하고있는 구성 요소 객체를 직렬화하는 동안 모든 dynamic.component 객체 속성이 올바르게 설정되었지만 코드를 원격 디버깅하려고했습니다. COM +, 게시자 서비스를 다시 시작하려고했지만 여전히 문제가 지속됩니다. 모든 포인터는 매우 높이 평가됩니다.
직렬화 오류없이 템플릿 빌더에서 코드가 올바르게 실행되고 있지만 아래 오류가있는 게시 시간에 실패한 이유를 찾을 수 없습니다.
다음은 오류 메시지입니다 :
는 XML 문서를 생성하는 동안 오류가 발생했습니다.XML 문서를 생성하는 동안 오류가 발생했습니다.
개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
구성 요소 : 템플릿 생성
에러 코드 : 0
사용자 : NORD \ DWTMTSUser
스택 트레이스 상세 정보 : Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterField.XSArrayInfo.get_Item에서
(Object a, Int32 i)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializat ionWriterField.Write13_Field (문자열 N 문자열 NS 오브젝트 O, 부울 ISNULLABLE 부울 needType) Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterField.Write14_Field에서
(객체 O) System.Xml.Serialization에서
. XmlSerializer.Serialize (XmlWriter를 XmlWriter를, 개체 O, XmlSerializerNamespaces 네임 스페이스, 문자열 인코딩 스타일, 문자열 ID) System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter를 XmlWriter를, 개체 O)
DD4T.ContentModel.SerializableDictionary에서의
`3.WriteXml (XmlWriter 작가) in D : \ DW-Source \ Mainline \ Src \ DD4T \ DD4T.ContentModel \ SerializableDictionary.cs : 줄 80
at System.Xml.Serialization.XmlSerializationWriter.WriteSerializable (IXmlSerializable 직렬화 문자열 이름 문자열 NS 부울 ISNULLABLE은 부울 래핑) Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write13_Component에서
(문자열 N 문자열 NS, 컴포넌트 O 부울 ISNULLABLE 부울 needType)에서 :에 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write32_Component (객체 O)에서 라인 0
: 라인 0
Microsoft.Xml.Serialization.GeneratedAssembly.ComponentSerializer.Serialize에서 (객체 objectToSerialize, XmlSerializationWriter 작가) 입력 : 행 0
System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter를 XmlWriter를, 개체 O, XmlSerializerNamespaces 네임 스페이스, 문자열 인코딩 스타일, 문자열 ID) System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter를 XmlWriter를, 개체 O에서
, XmlSerializerNamespaces에서 네임 스페이스, 문자열 인코딩 스타일, 문자열 ID) System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter를 XmlWriter를, 개체 O에서
, XmlSerializerNamespaces 네임 스페이스, 문자열 인코딩 스타일) System.Xml.Serialization.XmlSerializer.Serialize에서
(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces 네임 스페이스)
D에서 DD4T.Templates.Base.BaseComponentTemplate.Transform (엔진 엔진, 포장 패키지)에서: \ DW-소스 \ 본선 \ SRC \ DD4T \ DD4T.Templates.Base BaseComponentTemplate.cs \ : 라인 88
Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.RunTemplate에서 Tridion.ContentManager.Templating.Assembly.AssemblyMediator.Transform (엔진 엔진, 템플릿 템플릿, 포장 패키지)
(엔진 엔진, 포장 패키지, 문자열 templateUri, 문자열 클래스 이름에서)
at Tridion.Templating.CSharpSemplate.CSharpSourceTemplate.Transform (Engine __engine, Package __packa GE)
Tridion.ContentManager.Templating.Engine.ExecuteTemplate (템플릿 템플릿, 포장 패키지에서 Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.Transform (엔진 엔진, 템플릿 템플릿, 포장 패키지)에서
)
DD4T dll (DD4T.ContentModel.Contracts.dll, DD4T.ContentModel.dll, DD4T.ContentModel.XmlSerializers.dll)의 GAC 처리 및 DD4T의 업로드. Templates.dll은 해결되었습니다 !!! ILMerged DD4T.Templates.merged.dll을 업로드하는 중에도 공개 시간에 serilization 오류가 발생합니다. 우리는 같은 해결책을 찾고 있습니다. 도움을 주셔서 감사합니다. :) – TridionDeveloper