I've written a custom resolver to block publish transactions from certain publications by referring through below blog https://www.sdltridionworld.com/community/2011_extensions/childpublicationsonlyresolver.aspx.
Our deployment server don't have .NET SDK, so no GACutil.
So, I created a setup project and installed MSIL to register the DLL in the GA_MSIL. DLL is present in the GAC MSIL.
When i publish any item from the CMS, it throws following error.
Could not load type '***' from assembly 'ChildPublicationsOnlyResolver, Version=2.0.0.0, Culture=neutral, PublicKeyToken=26c2d68fe54df544'.
Component: Tridion.ContentManager.Publishing
Errorcode: 0
User: NT AUTHORITY\SYSTEM
StackTrace Information Details:
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at Tridion.ContentManager.Publishing.Resolving.ResolveEngine.GetResolversFromConfiguration(IEnumerable`1 itemTypes)
at Tridion.ContentManager.Publishing.Resolving.ResolveEngine.ResolveItems(IEnumerable`1 items, ResolveInstruction instruction, IEnumerable`1 contexts)
at Tridion.ContentManager.Publishing.Resolving.ResolveEngine.ResolveItem(IdentifiableObject item, ResolveInstruction instruction, PublishContext context)
at Tridion.ContentManager.Publishing.Handling.DefaultPublishTransactionHandler.HandlePublishRequest(PublishTransaction publishTransaction)
at Tridion.ContentManager.Publishing.Handling.DefaultPublishTransactionHandler.ProcessPublishTransaction(PublishTransaction publishTransaction)
at Tridion.ContentManager.Publishing.Publisher.QueueMessageHandler.HandleMessage()
When i copy the DLL manually to the GAC_MSIL, publishing works fine.
Please provide your suggestions and inputs!