模式引用“ assembly.type”不是有效引用,或者在当前项目中不存在

时间:2020-05-13 09:16:25

标签: biztalk biztalk-2016

这是一个收集编译错误的可能原因的问题。“模式引用[assembly]。[类型]不是有效的引用或当前项目中不存在”。

>

在BizTalk解决方案中,我有一个带有KiTH MsgHead模式的通用模式程序集,作为导入在另一个项目中的另一个模式中,我必须引用该程序集。即使网络上的搜索结果使我相信可能也不是。

毫无疑问,这样的导入语句是正确的:

<xs:import namespace="http://www.kith.no/xmlstds/msghead/2006-05-24" schemaLocation="HP.BizTalk.KiTH.Schema.MsgHead_v12.MsgHead_v1_2"/>

此处,架构的类型名称为 MsgHead_v1_2 ,并且存在于程序集 HP.BizTalk.KiTH.Schema.MsgHead_v12 中。构建解决方案时,出现以下编译错误:

Screenshot of the compile error

我将用在网络上任何搜索结果中都找不到的解决方案来回答自己的问题。

1 个答案:

答案 0 :(得分:1)

创建通用模式项目时,我从另一个存储库中导入了该项目,并且不得不更改项目名称,名称空间等。此外,由于与重命名相关的问题,重新创建了AssemblyInfo.cs文件。

如果缺少程序集属性BizTalkAssembly,则编译器完全不会抱怨。但是,由于它不再是BizTalk程序集,因此导致的问题可能非常混乱,无法理解。如问题所示,我无法使用BizTalk Map中通用程序集中的模式,也无法将其导入另一个模式。因此,通过将以下行添加到AssemblyInfo.cs中,可以消除误导的编译错误:

[assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssembly(typeof(Microsoft.BizTalk.XLANGs.BTXEngine.BTXService))]

enter image description here