带有BizTalk Server 2016的Visual Studio 2015无法加载Microsoft.BizTalk.CrossReferencingFunctoids.dll

问题描述 投票:1回答:1

解决下面描述的错误的解决方法是有效地删除七个标准BizTalk Server 2016数据库functoid提供的功能。希望能够不必这样做。

在构建项目时,我们收到此错误:

The "MapperCompiler" task failed unexpectedly. ...

“MapperCompiler”任务意外失败。 System.ApplicationException:无法加载包装:C:\ Program Files(x86)\ Microsoft BizTalk Server 2016 \ Developer Tools \ Mapper Extensions \ Microsoft.BizTalk.CrossReferencingFunctoids.dll。 ---> System.IO.FileNotFoundException:Mapper编译器:无法从文件或部分名称加载程序集C:\ Program Files(x86)\ Microsoft BizTalk Server 2016 \ Developer Tools \ Mapper Extensions \ Microsoft.BizTalk.CrossReferencingFunctoids.dll at Microsoft.BizTalk.Mapper.OM.FunctoidManager.AddWrapper(String reference)在Microsoft.BizTalk.Mapper.OM.FunctoidManager.LoadWrappers(String [] references)---内部异常堆栈跟踪结束---在Microsoft.VisualStudio。 BizTalkProject.Compiler.MapCompiler.Compile(BizTalkBuildSnapshot buildSnapshot,IEnumerable1 mapFilesToCompile, IEnumerable1 schemaFiles,List1& generatedCodeFiles, List1&xsltFiles)at Microsoft.VisualStudio.BizTalkProject.BuildTasks.MapperCompiler.Execute()at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute( )在Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext(){我的项目名称}

同时,在尝试打开现有地图或创建新地图时,我们会收到以下错误:

Microsoft BizTalk Mapper - Unable to load wrapper:C:\Program Files (x86)\Microsoft BizTalk Server 2016\Developer Tools\Mapper Extensions\Microsoft.BizTalk.CrossReferencingFunctoids.dll.

程序集位置的图片(显示其大小和MS发布的日期):

Microsoft.BizTalk.CrossReferencingFunctoids.dll published 9/30/2016 9:43 PM, size 38KB

自至少2006版R2以来,此程序集一直是BizTalk Server映射数据库functoid的库存组件。这些functoid在MS文档中描述为BTS:

MS docs description of Database Functoids

这些functoid在Visual Studio的地图设计图面上显示如下:

How the functoids appear in VS 2015

这些BizTalkMgmtDb表是交叉引用functoid的目标:

BizTalkMgmtDb tables used by the cross-referencing functoids

仅供参考,here是我能找到的最准确的症状。该帖子没有解决方案发布:

picture of BTS 2006 R2 occurrence of identical symptom

这是我们可怕的解决方法:删除Microsoft.BizTalk.CrossReferencingFunctoids.dll

从...位置删除装配的影响

C:\Program Files (x86)\Microsoft BizTalk Server 2016\Developer Tools\Mapper Extensions

......有两个:

  • 错误(构建具有地图的项目以及尝试创建新地图或显示现有地图时)会消失。
  • 交叉引用functoid的有用性是不可用的。这七个functoid仍然出现在地图设计界面的工具箱中,但如果您尝试使用它,则会收到此消息(functoid仍然出现在工具箱中 - 可能是因为程序集仍在GAC中):

picture shows the functoids in the toolbox but not available to the mapper

注意:仅供参考,即使在通过以下步骤配置它以匹配服务器环境之后,我也无法在Windows 10 PC上出现任何这些症状:

  • 安装BTS 2016累积更新5
  • 安装与服务器上使用的相同的.NET Framework 4.7.2(也称为4.7.03062)

问题的服务器环境:

  • BizTalk Server 2016包括累积更新5
  • BizTalk安装在Windows Server 2012 R2 Datacenter(x64)上 - 特别是版本6.3.9600 Build 9600.服务器是最新的补丁
  • Visual Studio 2015(与BTS 2016一起使用所需的版本)
  • SQL Server 2016 SP2(内部版本1.3.0.5161.0)数据库位于单独的计算机上
visual-studio-2015 biztalk biztalk-2016
1个回答
0
投票

您声明您运行的是Windows Server 2012,BizTalk 2016不支持此版本。目前仅支持Windows Server 2012 R2和Windows Server 2016。

© www.soinside.com 2019 - 2025. All rights reserved.