2012-05-22 38 views
5

我們剛開始嘗試發佈頁面(.NET)時出現了一些錯誤 - 在Tridion 2009中。它以間歇性,經典的「RenderComponentPresentation超出渲染失敗0的最大數量」錯誤開始,然後進展到完全失敗。Tridion 2009模板發佈失敗

我們可以正確預覽頁面,所以我很討厭相信這與實際的模板代碼有關。

不幸的是,我不控制這個運行的盒子,所以我將無法運行任何調試代碼等等......所以這是一個黑暗中的鏡頭!

堆棧跟蹤低於:

Event Type:  Error 
Event Source:  Publishing 
Event Category:  None 
Event ID:  100 
Date:    22/05/2012 
Time:    14:28:22 
User:    N/A 
Computer:  XXXXXXXXXX 
Description: 
Exception has been thrown by the target of an invocation. 
Old format or invalid type library. (Exception from HRESULT: 0x80028019 (TYPE_E_UNSUPFORMAT)) 


Component: Tridion.ContentManager.Publishing 
Errorcode: 0 
User: NT AUTHORITY\SYSTEM 

StackTrace Information Details: 
    at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType) 
    at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType) 
    at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
    at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) 
    at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) 
    at Tridion.ContentManager.Session.GetObject(String uri) 
    at Tridion.ContentManager.Publishing.Publisher.QueueMessageHandler.HandleMessage() 
+0

我記得5.3中有類似的錯誤,因爲我的程序集被編譯爲「ANY CPU」,服務器是x64,並且Tridion嘗試加載它們會破壞它。在強制它編譯成x86後,我停止了這個錯誤,所以沒有比這更深入的研究。 –

回答

6

它看起來就像你有一箇舊的DLL的地方,系統上。檢查您的所有依賴關係(如您放入GAC或Tridion * \ bin目錄中的DLL)是否最新,並讓它們重新啓動與Tridion相關的服務,COM +應用程序和IIS應用程序池。

編輯:實際上,如果模板生成器工作,它看起來像DLL可能是最新的,你只需重新啓動服務+ COM +應用程序。如果你的團隊不知道該怎麼做,只需讓他們重新啓動機器,或者看看this script,它會對Tridion相關的所有事情進行強力重啓。

+0

謝謝弗蘭克 - 它已經完成,它再次工作。你會碰巧對這個問題的根源有任何建議嗎? – mpaton

+1

似乎這些進程之一掛在舊版本的DLL上。由於Tridion會自動重新加載您上傳的程序集,它很可能是最近更新的依賴項。最近你有沒有機會安裝任何附加組件。 –

+0

嗨,弗蘭克,我們還沒有在服務器上安裝任何東西 - 最近的部署是2009年的一次非常簡單的安裝。我們通過Tridion部署我們的TBB,遺憾的是我們無法使用TcmUploadAssembly,因爲內容管理器位於逆向代理的後面。這是否可能與此問題的根本原因有關(即,在發佈請求期間部署的程序集正在同時使用,並且需要重新啓動才能重新加載?) – mpaton