Recently, I developed a custom pipeline component, which has a specified characteristic: it uses a third-party DLL (provided by the client).
After successful compilation, the ALL assemblies must be put in the C:\Program Files\Microsoft BizTalk Server 2006\Pipeline Components folder (Alternative: put the component DLL in the pipeline Components folder and the third-party DLL in GAC)
📝 One-Minute Brief
Developing BizTalk pipeline components from a UNC path (network share) can result in a “Security Exception” or “Access Denied” error. This occurs because the file do not exist or missing dependecies.
But, while adding the component to the VS toolbox, I was surprised by the following error:
“You have selected an invalid pipeline component assembly. Please check security settings for the assembly if you are loading it from an UNC path.”
Cause
This normally occurs because the file does not exist or there are missing dependencies.
Solution
- First, check that your pipeline component class is public.
- Also, make sure any assemblies you reference from the custom pipeline component are in the GAC or Pipeline Components folder (if that’s where you drop your custom pipeline component assembly).
- Check for missing dependencies; they all have to be put in the GAC or the Pipeline Components folder
In my case, the DLL that I tried to use (which was provided by the client), I successfully built the solution (without error or warning) in Visual Studio, but when I checked the DLL, it had some dependencies that weren’t installed in GAC (in my case, nunit.framework.dll version 2.4.0.2).
I installed dependencies in the GAC and solved the problem.

if you have changed the name space of the class and you haven’t updated it with resource manager, which would be usually the first line of code , if you are using the pipeline component wizard, – this will also show you the same error
Thanks @Anonymous, this resolved my UNC path isssue!!
Nice post Sandro. This is currently killing me slowly, and painfully. I’ve checked for public class, dependencies and base name passed to resource manager but still no luck. Did anyone ever discover any way to get a more descriptive error message?
Check whether ‘description’ method of ‘IBaseComponent’ has been changed to return some string value.Try update the default
“get { throw new NotImplementedException(); }” into
get { return “Your description”; }
Move your custom pipeline component *.dll to folder C:Program Files (x86)Microsoft BizTalk Server 2010Pipeline Components