I have an assembly MyEventAssembly.dll
that subscribes to various events in the tridion event system. It references another assembly MySharedAssembly.dll
. MySharedAssembly.dll
references Tridion.Common.dll
, Tridion.ContentManager.dll
, Tridion.ContentManager.Common.dll
, Tridion.ContenetManage.Publisher.dll
and Tridion.Logging.dll
.
I stop IIS, stop all Tridion services and end the dllhst3g.exe
. I copy MyEventAssembly.dll
, MySharedAssembly.dll
into 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=1.0.0.0, 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 (MySharedAssembly.dll
, Tridion.Common.dll
, Tridion.ContentManager.dll
, Tridion.ContentManager.Common.dll
, Tridion.ContenetManage.Publisher.dll
and 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?