library example data .net json.net tridion tridion2009 assembly-loading

example - Tridion: no se puede cargar.Net dll mientras se publica



enterprise library configuration download (3)

Algunas veces su plataforma no está configurada correctamente. Verifique esto haciendo clic derecho en el proyecto y estableciendo el marco en 4.0 (o lo que sea compatible) para usar el dll. Luego, cierre la aplicación e intente ejecutarlo nuevamente. Su plataforma puede establecerse en .NET Framework 4 Client Profile.

Estoy usando .Net dll Newtonsoft.Json in my C# TBB para procesar componentes y generar datos Json. Ya he agregado este dll en GAC[Global Assembly Cache] , y también funciona. Pero a veces no funciona y recibo el siguiente error al publicar:

JScriptException: Expression ''RenderComponentPresentation()'' had error ''Could not load file or assembly ''Newtonsoft.Json, Version=4.0.5.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'' or one of its dependencies. The system cannot find the file specified.''

Pero cuando obtengo una vista previa de la página en Tridion, funciona bien. Para solucionar este problema, reiniciamos los Tridion Services , después de reiniciar, publicamos la página que funciona bien. Pero este problema sigue reapareciendo una y otra vez. ¿Hay alguna forma de resolver este problema de forma permanente?

Recientemente pude reproducir el problema cuando publiqué la misma página nuevamente cuando ya estaba en proceso de publicación. El segundo intento de publicación devolvió el error anterior, pero el primer intento de publicación finalizó después de la falla del segundo intento de publicación y devolvió el Success . Alguna idea de por qué este comportamiento extraño.


Si no fuera por el hecho de que funciona mejor después de reiniciar el servicio, pensé que se trataba de un ensamblaje del que depende NewtonSoft.Json. Si hay alguna de estas asambleas, también deberán registrarse en el GAC. Tenga en cuenta que el proceso de publicación no necesariamente tiene la misma carpeta de aplicación o ruta de prueba que el kernel de Tridion (que realiza vistas previas).

Como dice Chris, tal vez este es un problema de enhebrado, pero a veces este tipo de rareza aparece bajo la presión de la memoria. ¿Puede controlar el uso de la memoria de su proceso editorial para ver si hay una fuga?


Los archivos de registro de fusión podrían proporcionarle más detalles sobre por qué falla. ¿Ya usaste esta herramienta?

Fuslogvw.exe (Visor de registro de encuadernación)

Aparte de eso, recomiendo obtener las últimas versiones de JSON.NET para .NET 4.0 y garantizar que implemente las versiones correctas para todos los servidores de publicación.