我正在创建一个类库。在成功构建类库之后,我将DLL放入BizTalk Server的管道组件文件夹中,并将DLL添加到GAC文件夹中。
现在我试图将其作为自定义管道组件引用到我正在创建自定义管道的另一个项目中。但是当我尝试添加DLL时它会抛出一个异常
您选择了无效的管道组件组装。如果从UNC路径
加载程序集,请检查程序集的安全设置。
我已经有了一些解决这个异常的方法,比如
- 首先,检查你的管道组件类是否为public。此外,确保您从自定义管道组件引用的任何程序集都在GAC或pipeline Components文件夹中(如果您将自定义管道组件程序集放在那里)。
- 检查缺失的依赖项,它们都必须放在GAC或Pipeline Components文件夹
但仍无法解决问题
首先,不要将自定义Pipeline Components放在%Pipeline Components%文件夹中。详细信息在这里:BizTalk Server:在BizTalk Server 2006和更高版本中部署自定义管道组件
接下来,你必须执行至少2个但最多5个(?)用于将组件识别为管道组件的接口。确保这一点的最佳方法是使用CodePlex提供的出色的管道组件向导:BizTalk服务器管道组件向导
2013 R2版本在这里:http://btsplcw.codeplex.com/workitem/21354
我今天也遇到了同样的问题。我从另一个PipelineComponents c#库中复制了一个现有的Pipeline。不管出于什么原因,"构建行动"设置为none,而不是"编译"。因此,即使项目构建并创建了一个。dll,它也不包括我修改过的c#代码。
然后我还必须关闭并重新打开Visual Studio,因为之前的. dll仍然被缓存。