将Tridion 2009事件系统迁移到Tridion 2011 SP1时出错

Chr*_*gan 3 tridion

将我现有的Tridion 2009事件DLL(在2011服务器上编译)添加到bin目录并在Content Manager Config文件中注册DLL后,GUI现在返回以下错误.我检查了事件日志,Tridion日志等有关"缺失依赖"任何想法的更多详细信息?

Could not load file or assembly 'Tridion.Extensions.Events, Version=1.0.20.521,
Culture=neutral, PublicKeyToken=ecb60dbe3cbb7440' or one of its dependencies. 
The system cannot find the file specified.

Unable to get LangID of User (tcm:0-2851-65552). Initialization of the extension
'C:\Program Files (x86)\Tridion\bin\Tridion.Extensions.Events.MDO.dll' failed.

System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly,ObjectHandleOnStack) 
    System.Reflection.RuntimeAssembly.GetExportedTypes() 
    Tridion.ContentManager.Extensibility.TcmExtension.LoadExtensions() 
    Tridion.ContentManager.Extensibility.TcmExtension.LoadExtensions() 
    Tridion.ContentManager.Extensibility.TcmExtension.InitializeExtensions() 
    Tridion.ContentManager.Extensibility.EventSystem.DeliverEvent(IEnumerable`1,TcmEventArgs,EventDeliveryPhase) 
    Tridion.ContentManager.Extensibility.EventSystem.DeliverEvent(IdentifiableObject,TcmEventArgs,EventDeliveryPhase) Tridion.ContentManager.IdentifiableObject.Load(LoadFlags,Boolean) 
    Tridion.ContentManager.IdentifiableObject.Load(LoadFlags) 
    Tridion.ContentManager.BLFacade.IdentifiableObjectFacade.Read(UserContext,String,XMLReadFilter) XMLState.GetPropertyElem XMLState.GetProperty User.LangID
Run Code Online (Sandbox Code Playgroud)

Fra*_*len 5

看起来你有两个组件:Tridion.Extensions.Events.dllTridion.Extensions.Events.MDO.dll.由于您在Tridion.ContentManager.config中按完整路径引用TcmExtension DLL,因此您不能在同一目录中拥有依赖于另一个的TcmExtension DLL.

解决方案是将"共享库"(可能Tridion.Extensions.Events.MDO.dll适合您)放在GAC中.