2013-01-09 4 views
1

을 사용하여 콘텐츠를 게시하는 동안 일련 화 오류가 발생했습니다. 소스 컨트롤에서 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 (엔진 엔진, 템플릿 템플릿, 포장 패키지)

에서

)

답변

2

Quirijn의 답변이 도움이 되었습니까? https://groups.google.com/d/msg/dynamic-delivery-4-tridion/K0BzzPovUz4/1RvTHFHktukJ

또한 여러 게시자가있는 경우 모든 게시자의 GAC에 DD4T.Templates.Base.dll을 추가했는지 확인하십시오. (Q의 대답 중 옵션 2를 선택한 경우)

+0

DD4T dll (DD4T.ContentModel.Contracts.dll, DD4T.ContentModel.dll, DD4T.ContentModel.XmlSerializers.dll)의 GAC 처리 및 DD4T의 업로드. Templates.dll은 해결되었습니다 !!! ILMerged DD4T.Templates.merged.dll을 업로드하는 중에도 공개 시간에 serilization 오류가 발생합니다. 우리는 같은 해결책을 찾고 있습니다. 도움을 주셔서 감사합니다. :) – TridionDeveloper