问题描述
我已经为尝试使用Visual Studio 2013进行编译的现有BizTalk 2013r2解决方案选择了源代码。
尝试编译地图时遇到以下错误:
映射器编译器:未找到Functoid:guid (2de6985a-3dff-46eb-a7d8-4fc884756860)具有仿色ID(54009)。检查一下 如果存在实现此functoid的程序集
我已经扫描了提供的所有源代码,并且没有任何自定义functoid类的迹象。也许我缺少对开源functoid库的引用,但是从.btm文件中可以看到,没有太多事情要做:
<Functoid FunctoidID="31" Functoid-FID="54009" X-Cell="44" Y-Cell="196" Functoid-CLSID="2de6985a-3dff-46eb-a7d8-4fc884756860">
<input-parameters>
<Parameter Type="constant" Value="ReceivedFileName" linkIndex="0" Guid="10eb4cb9-05b3-4e6e-b534-f3ee7ea8dadb" />
<Parameter Type="constant" Value="http://schemas.microsoft.com/BizTalk/2003/file-properties" linkIndex="1" Guid="e9119104-6fb3-43ef-9d17-ada0568dc557" />
</input-parameters>
有什么想法吗?
解决方法
无论是帮助程序库还是任何其他库,地图均引用了GACed程序集。自定义函数也已安装在GACed中,然后只能在地图编辑器中添加到工具箱中。
也许在源计算机上,它是在部署functoid程序集时工作的。
要解决此问题,请检查地图项目引用,并且所有引用的项目都已成功构建。
在尝试构建地图项目时,可能还会部署地图部件。但是,由于它是在VS解决方案打开时部署的,因此它不会引用已部署的程序集。尝试重新启动Visual Studio,然后再次打开解决方案,然后构建地图项目。
,听起来您缺少自定义的仿函数。这就是我不喜欢自定义函数的原因。我更喜欢将自定义代码放在脚本功能中,因为它随后与源代码中的地图一起出现。 该自定义函子不会出现在任何搜索中,例如BizTalk Server: List of Custom Functoids(Technet)。所以我认为你是一个人。
在C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Developer Tools\Mapper Extensions
中查找自定义程序集,或者按照GAC中bts_dev的说明进行操作。