0

我们正在更新我继承的 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 映射目标架构导入多个架构

Visual Studio 2008 中 BizTalk 架构项目的参考问题

在其他地方只有一些有意义的帖子。

该解决方案有 4 个项目,组织如下:

  1. 通用(包含 1 个架构 AppConfig.xsd 文件)
  2. 编排(1 个编排文件)
  3. Schema(引用 ASMX Web 服务)
  4. 地图(1 个地图文件,参考 Schema 和 Common Projects)

Map 项目尝试将类型的源消息转换为AppConfigWebAppConfigBE服务中复杂类型之一的类型。

我不断收到上面的编译时错误。

按照 SOF 的两个帖子和 MSDN 论坛上的其他一些帖子中的建议,尝试了以下所有方法,但都没有奏效。

  1. 尝试在地图项目上交替复制本地(从真到假,反之亦然)

  2. 尝试在地图文件的源和目标上替换模式

  3. 使用完全限定的 .Net 类型名称引用模式

  4. 尝试引用 .dll 而不是 Schema 和 Common 项目。

  5. 更新了网页参考;还删除并重新添加了网络参考

是否有解决方案/热修复等?我可以尝试任何其他建议吗?

更新 1:我们不得不打电话给微软寻求帮助;工程师拿了我的项目文件在他们的电脑上试用;他说他们也有同样的问题,作为修复,建议将Build Action.BTM 地图文件的属性设置为None而不是 BTSCompile. 在此之后,项目成功构建。他说用这个构建测试项目并让他们知道。我不确定的是,这会带来什么后果?很多关于 Build Action 的主题是指模式文件,而不是 BTS 项目中的映射文件。地图文件的标准构建操作是什么?

4

2 回答 2

0

还有一项是从 GAC 中清除任何程序集或使用 Post-Build 脚本重新 GAC。

于 2015-02-12T21:40:05.030 回答
0

我遇到了同样的问题。我需要添加

using Microsoft.XLANGs.BaseTypes;
using Microsoft.BizTalk.XLANGs.BTXEngine;
[assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssemblyAttribute(typeof(BTXService))]

将 AssemblyInfo.cs 放入项目中。

于 2018-03-09T12:19:58.667 回答