我们正在更新我继承的 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 中只有两个帖子与此错误相关:
Visual Studio 2008 中 BizTalk 架构项目的参考问题
在其他地方只有一些有意义的帖子。
该解决方案有 4 个项目,组织如下:
- 通用(包含 1 个架构 AppConfig.xsd 文件)
- 编排(1 个编排文件)
- Schema(引用 ASMX Web 服务)
- 地图(1 个地图文件,参考 Schema 和 Common Projects)
Map 项目尝试将类型的源消息转换为AppConfig
WebAppConfigBE
服务中复杂类型之一的类型。
我不断收到上面的编译时错误。
按照 SOF 的两个帖子和 MSDN 论坛上的其他一些帖子中的建议,尝试了以下所有方法,但都没有奏效。
尝试在地图项目上交替复制本地(从真到假,反之亦然)
尝试在地图文件的源和目标上替换模式
使用完全限定的 .Net 类型名称引用模式
尝试引用 .dll 而不是 Schema 和 Common 项目。
更新了网页参考;还删除并重新添加了网络参考
是否有解决方案/热修复等?我可以尝试任何其他建议吗?
更新 1:我们不得不打电话给微软寻求帮助;工程师拿了我的项目文件在他们的电脑上试用;他说他们也有同样的问题,作为修复,建议将Build Action
.BTM 地图文件的属性设置为None
而不是 BTSCompile
. 在此之后,项目成功构建。他说用这个构建测试项目并让他们知道。我不确定的是,这会带来什么后果?很多关于 Build Action 的主题是指模式文件,而不是 BTS 项目中的映射文件。地图文件的标准构建操作是什么?