I have an assembly
MyEventAssembly.dll that subscribes to various events in the tridion event system. It references another assembly
I stop IIS, stop all Tridion services and end the
dllhst3g.exe. I copy
C:\Program Files (x86)\Tridion\bin. I then start IIS and the
Tridion Content Manager Service Host service. I then access the content manager through my web browser where I am presented with the following message
Could not load file or assembly 'MySharedAssembly, Version=220.127.116.11, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. Unable to Initialize TDSE object. Initialization of the extension 'C:\Program Files (x86)\Tridion\bin\MyEventAssembly.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.Session.InitializeSession() Tridion.ContentManager.Session..ctor(String,String,UserContext) Tridion.ContentManager.BLFacade.SystemFacade.InitializeUserContext(UserContext,String,String) UtilitiesTDS.GetUserContext TDSE.Initialize
I also get the same error in the windows event log on the content manager server.
If I access the content manager a second time through the web browser I receive no error message and the UI loads as expected.
I have tried putting the dependent assemblies (
Tridion.Logging.dll) into various bin directories in the Tridion folder such as
C:\Program Files (x86)\Tridion\bin and
C:\Program Files (x86)\Tridion\webservices\bin but with no success.
Where should I put the referenced assemblies? Is there any way I can solve it without registering the assemblies in the GAC?