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

时间:2015-02-12 20:43:11

标签: biztalk biztalk-2009 biztalk-2013

我们正在更新我继承的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个项目组织如下:

  1. Common(包含1个架构AppConfig.xsd文件)
  2. 业务流程(1个业务流程文件)
  3. 架构(引用ASMX Web服务)
  4. 地图(1个地图文件,引用架构和公共项目)
  5. Map项目尝试将类型为AppConfig的源消息转换为类型AppConfigBE,这是Web Service中的复杂类型之一。

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

    尝试了以下所有内容,如两篇SOF帖子中的建议,以及MSDN论坛上的其他一些帖子,但都没有奏效。

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

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

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

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

    6. 更新了网络参考;还删除并重新添加了网络参考资料

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

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

3 个答案:

答案 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))]