【发布时间】:2015-02-03 08:47:23
【问题描述】:
场景:将外部 Web 应用程序与安全信息集成。网站调用 BizTalk WCF 服务,其中包含一个(或多个)已使用网站的加密类加密的字段。在发布地图中,我需要将 Web 加密转换为 BizTalk 环境加密(是的,差异是必要的)。这曾经在 SOAP asmx Web 服务数据类型代码中完成,但现在需要在地图或管道中完成。 Map 似乎最容易通过脚本 functoid 引用来实现,在外部程序集中我为一个调用解密器并用另一个重新加密,就像我在旧 Web 服务中所做的一样。
问题:外部程序集相对简单,它由一个具有默认构造函数的类组成,没有参数,一个公共方法接受一个字符串并返回一个字符串。输入是网络加密阀门,输出是我的加密值。我在方法中引用了 3 个自定义库来进行加密交换。没有从脚本functoid 调用任何引用的程序集。所有都添加为地图项目中的参考。都是名副其实的。都是 GAC 的。
然而,当我测试地图时,它给出了以下错误:
函数“ScriptNS0:Myfunction()”失败。调用的目标已引发异常。无法加载文件或程序集“OurCompany.Project.WebEncryption,Version=1.0.0.0,Culture=neutral,PublicKeyToken=123654789abcd”或其依赖项之一。系统找不到指定的文件。
我仔细检查了 GAC_MSIL 文件夹中的版本等,一切都匹配。什么给了?
【问题讨论】:
-
这是 .NET 4 程序集还是 .NET 2 程序集?可能完全是一个不同的 GAC。
-
您是否重新启动了主机实例?
-
没有。在 Visual Studio 中使用测试地图功能。在此步骤中,主机实例不是等式的一部分。
标签: c# biztalk .net-assembly biztalk-2010