Context
Tridion Docs 14 SP4.
IPublishPostProcessPlugin load failure.
Summary
A custom assembly that includes several IPublishPostProcessPlugin output plugins is not found by the Publish Postprocess Plugin engine.
Details
The assembly started as a .NET port of a prior scripting implementation. It was supplied back in 2023 by RWS Professional Services, when we upgraded to TD14.4.
It was deployed under C:\InfoShare\App\Plugins, as documented, to all 3 environments (DEV, QA and PROD) and has been running as designed since.
All 3 environments are logically and version-wise the same.
Recently, a change of behavior was required for one of the plugins. We - Edwards Lifesciences - requested the C# project code, added a new plugin implementation, modified the XML Publish Plug-In settings accordingly, followed the documented deployment procedure to update the assembly on DEV, and tested it there. All tests passed. From this we know that a) the assembly implements the required interface, b) the existing and new code works, c) the publish plugin configuration is correct, and d) the deployment procedure is effective.
The time has come to validate (software QA) the new version prior to deploying to PROD. Accordingly, the assembly was deployed, again as documented, to the QA environment (the instance we use for validation). A test was run. It failed.
The core of the error message is always:
Plug-in initialization failed. "Cannot initialize plugin XXX. The plugin implementation with handler YYY implementing IPublishPostProcessPlugin was not found.
The interesting parts of the above are:
- XXX is not the new plugin: it existed in the initial implementation and remains unmodified by the recent change
- by design, XXX is executed before ISHRUNDITAOT, excluding a problem with the DITA Open Toolkit
Many attempts have been made to address this: change the .NET build environment, restart services, reboot servers, remove dependencies on external components, build and deploy a separate assembly with just the new plugin, scrutinize logs... all to no avail. The same error message comes back, again and again.
Oddest but perhaps most interesting: after all these tries, restoring the original assembly - the 2023 dll that runs normally on the PROD enviroment to this day - also fails with the same error message. Exactly what you get if you remove the assembly altogether from C:\InfoShare\App\Plugins.
So as the stack trace says, the PublishPostProcessPluginEngine doesn't find the plugins. How can we get it to see and load them?
We have an open support case with RWS for this - among other things they recommended asking this Community. So here we are - any advice or hint is appreciated.

Translate