【问题标题】:Error migrating Tridion 2009 Event System to Tridion 2011 SP1将 Tridion 2009 事件系统迁移到 Tridion 2011 SP1 时出错
【发布时间】:2012-05-18 11:13:23
【问题描述】:

将我现有的 Tridion 2009 事件 DLL(在 2011 服务器上编译)添加到 bin 目录并在 Content Manager 配置文件中注册 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

【问题讨论】:

  • 您是否重新启动了所有 SDL Tridion 服务、IIS 和相关的 COM+ 包?

标签: tridion


【解决方案1】:

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

解决方案是将“共享库”(可能是 Tridion.Extensions.Events.MDO.dll 给你)放在 GAC 中。

【讨论】:

    【解决方案2】:

    幸运的是,.NET 程序集在其元数据中包含您需要的所有依赖项信息。面对这个问题,我通常会尝试使用可以读取它的工具打开程序集,例如 ILDASM 或 IlSpy。这为您提供了要查找的具体内容列表,而不是模糊而神秘的“或其依赖项之一”。

    另一种方法是使用 FUSLOGVW 来监视 .NET 运行时在哪里寻找程序集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-01
      • 2012-06-19
      • 2012-04-30
      • 2012-07-02
      • 2012-09-01
      • 2013-01-24
      • 2012-05-30
      • 2013-02-04
      相关资源
      最近更新 更多