无法加载源/目标架构;文件/类型不存在,或者如果存在项目依赖项,则不会生成依赖项目



我们正在更新我继承的 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. 业务流程
  3. (1 个业务流程文件(
  4. 架构(引用 ASMX Web 服务(
  5. 映射
  6. (1 个映射文件,引用架构和常见项目(

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

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

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

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

  2. 已尝试替换映射文件上的源和目标上的架构

  3. 使用完全限定的 .Net 类型名称引用架构

  4. 尝试引用.dll而不是架构和通用项目。

  5. 更新了 Web 引用;还删除并重新添加了 Web 引用

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

更新 1:我们不得不打电话给Microsoft寻求帮助;工程师拿着我的项目文件在他们的电脑上试用;他说他们也有同样的问题,作为修复,建议设置Build Action属性。BTM 将文件映射到 None 而不是 BTSCompile 。在此之后,项目成功生成。他说要用这个版本测试这个项目,让他们知道。我不确定的是,这样做的后果是什么?有关生成操作的许多主题都引用架构文件,而不是 BTS 项目中的映射文件。地图文件的标准构建操作是什么?

还有一项是从 GAC 中清除任何程序集,或使用后期生成脚本重新 GAC 它们。

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

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

到AssemblyInfo.cs进入项目。

最新更新