BizTalk Custom Pipeline Component - You have selected an invalid pipeline component assembly

2.7k Views Asked by At

I am creating a class library. On successful build of that class library I had placed that DLL to the pipeline component folder of BizTalk Server and added that DLL to the GAC folder.

Now I am trying to refer that as custom pipeline component into another project where I am creating the custom pipeline. But when I try to add that DLL it throws an exception

You have selected and invalid pipeline component assembly. Please check security settings for the assembly if you are loading it from an UNC path

I had already some of the solutions which are available related to this exception like

  • 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 on GAC or Pipeline Components folder

But still unable to resolve the issue.

2

There are 2 best solutions below

3
DTRT On BEST ANSWER

First, do not put custom Pipeline Components in the %Pipeline Components% folder. Details on that here: BizTalk Server: Deploying Custom Pipeline Components in BizTalk Server 2006 and Higher

Next, you have to implement at least 2 but up to 5(?) Interfaces for a component to be recognized as a Pipeline Component. The best way to ensure this is to use the excellent Pipeline Component Wizard available at CodePlex: BizTalk Server Pipeline Component Wizard

2013 R2 version here: http://btsplcw.codeplex.com/workitem/21354

0
NealWalters On

I had the same issue today. I copied an existing Pipeline from another PipelineComponents C# library. For whatever reason, the "Build Action" was set to none, instead of "Compile". So even though the project built and created a .DLL, it wasn't including the C# code that I had modified.

Then I also had to close and re-open Visual Studio, because the previous .DLL as still cached.