我们正在更新我继承的BizTalk 2009应用程序。我正在将它们转换为BizTalk 2013 R2。
当我尝试重新编译时,我得到以下相当有名的错误
Exception Caught: Cannot load source/destination schema: MyCompany.Schema.AppConfig.
Either the file/type does not exist, or if a project dependency exists, the dependent project is not built.
SOF中只有两个与此错误相关的帖子:
Biztalk Map Destination Schema Imports Multiple Schemas
Reference trouble with BizTalk schema project in Visual Studio 2008
在其他地方只有几个有意义的帖子。
该解决方案有4个项目组织如下:
Map项目尝试将类型为AppConfig
的源消息转换为类型AppConfigBE
,这是Web Service中的复杂类型之一。
我不断收到上面的编译时错误。
尝试了以下所有内容,如两篇SOF帖子中的建议,以及MSDN论坛上的其他一些帖子,但都没有奏效。
在地图项目上尝试交替复制本地(从true到false,反之亦然)
尝试在地图文件上替换源和目标上的架构
使用完全限定的.Net类型名称
尝试引用.dll而不是Schema和Common项目。
更新了网络参考;还删除并重新添加了网络参考资料
是否有针对此的解决方案/热修复等?我可以尝试其他任何建议吗?
更新1:
我们不得不打电话给微软寻求帮助;工程师拿着我的项目文件试试他们的电脑;他说他们也有同样的问题和修复,建议将.BTM地图文件的Build Action
属性设置为None
而不是BTSCompile
。在此之后,项目成功构建。他说用这个版本来测试项目并让他们知道。我不确定的是,这会带来什么后果?关于Build Action的许多主题都是指模式文件,而不是BTS项目中的地图文件。 Map文件的标准构建操作是什么?
答案 0 :(得分:0)
还有一项是清除GAC中的任何程序集或使用Post-Build脚本重新GAC它们。
答案 1 :(得分:0)
我遇到了同样的问题。我需要添加
using Microsoft.XLANGs.BaseTypes;
using Microsoft.BizTalk.XLANGs.BTXEngine;
[assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssemblyAttribute(typeof(BTXService))]
将AssemblyInfo.cs导入项目。
答案 2 :(得分:0)
我有同样的问题。
我已经在我的AssemblyInfo.cs文件中了
使用Microsoft.XLANGs.BaseTypes; 使用Microsoft.BizTalk.XLANGs.BTXEngine; [程序集:Microsoft.XLANGs.BaseTypes.BizTalkAssemblyAttribute(typeof(BTXService))]