任务列表中的构建错误

生成项目或解决方案时,结果将显示在“输出”窗口中,而单个错误和警告将显示在任务列表中。

错误和警告显示在任务列表中。 可以双击错误,焦点将应用于未正确配置的对象。

注释

生成时,编译器不会验证 XPaths。 请小心使用有效的 XPath 语法。

配置操作不足

显示表示配置不足操作的图标的图像。

谨慎

虽然业务流程设计器在可能的情况下会提供针对配置不当的警告,但无法保证在缺少这些警告的情况下,您的业务流程能够正确编译。

编译器询问是否缺少程序集引用

问题

在编译您的编排时,您会收到一条错误消息,消息的结尾是“您缺少程序集引用吗?”其中两个更常见的消息是:

  • 命名空间“Y”中不存在“X”类型或命名空间名称(是否缺少程序集引用?)

  • 标识符“X”不存在于“Y”中;是否缺少程序集引用?

原因

以下任一原因都可能导致此错误。

  • 项目不引用一个或多个必需的程序集。

  • 您的项目中有一个地图或其他与工程同名的对象。

  • 项目使用基于 XML 架构定义语言(XSD)的合作伙伴接口进程(PIP)架构,并在名为 System 的子文件夹中包含 XSD 架构。

  • 项目使用的是全局属性,其命名空间是当前项目的命名空间的子集。 例如,在项目“Accounts.FILE”中包含的业务流程中使用全局属性命名空间“File.ReceivedFileName”。

决议

根据问题的原因,解决方法可以是以下任一问题:

  • 添加对项目所需的缺少程序集的引用。

  • 将地图的名称或其他对象更改为项目名称以外的其他对象。 这通常可以通过对象的属性页完成(例如,Map 属性页包含 Name 属性)。

  • 更改 Visual Studio 中架构的命名空间。 若要使用 Visual Studio 执行此作,请单击“项目”菜单上的“显示所有文件”,然后在解决方案资源管理器中展开“系统”节点。 单击“系统”文件夹和任何子文件夹中的每一个文件,然后在“属性”窗口中更改命名空间条目,使 系统 出现的任何事件都变为 _System。 例如,将 MyProject.System.SubFolder 命名空间更改为 MyProject._System.Subfolder 命名空间。 有关此问题的详细信息,请参阅知识库文章 916649

  • 从项目中删除冲突的全局属性命名空间。

在构建项目时,您会收到“消息尚未在构造语句中初始化”的错误。

问题

编译 BizTalk 应用程序时,会收到错误“在构造语句中尚未初始化消息”。

原因

构造消息时,请指定所有消息变量。 然后,对消息或其部分进行指定。 如果特定消息分配的一部分包含在单独的 构造消息 形状中,可能会收到初始化错误消息。

决议

若要解决此行为,请确保在同一 构造消息 形状中包含特定消息分配的所有部分。

还可以通过在构造形状中创建消息,然后在表达式形状中使用其实例来解决此问题。 例如,如果放置在 表达式 形状中,则以下代码会导致错误:

XMLDOM = new System.Xml.XmlDocument();
POAckMsg = XMLDOM;

若要修复,请在 构造 形状中创建 XMLDOM 实例,然后在下游 表达式 形状中执行赋值。

生成项目时收到“使用未构造消息”错误

问题

编译 BizTalk 项目时,您会收到错误信息:“使用未构造的消息‘<message>’”。

原因

在Send形状中使用未构造的消息时,会发生此错误。

决议

若要解决此问题,请将 构造消息 形状添加到编排中。 在绑定到 Web 服务的“发送”形状之前包括“构造消息”形状。

为范围设置事务级别会导致错误

问题

在为编排中支持事务的范围或其他实体配置事务类型后,会收到错误“非事务编排不能包含任何其他事务”。

原因

当编排本身的事务类型为“None”时,尝试将编排中某个作用域(或其他实体)的事务类型配置为“Atomic”或“Long-Running”时,会发生此错误。

决议

确保业务流程和构成对象的事务类型设置兼容。

项目构建时出现错误:“必须为非自相关端口上的非激活接收指定至少一个已初始化的关联集”

问题

编译 BizTalk 项目时,会收到错误“必须为非自关联端口上的非激活性接收指定至少一个已初始化的关联集”。

原因

如果您的业务流程中没有激活的 接收 形状(Activate = true),或者没有激活的 接收 形状且未被其他业务流程直接调用,则可能会出现此错误。

决议

如果业务流程不是由另一个业务流程调用的,则必须将其中一个 接收 形状配置为已激活的接收。 有关配置 接收 形状的详细信息,包括关联链接,请参阅 如何配置接收形状

生成解决方案时出现错误:“程序集生成失败 -- 引用的程序集<assembly>没有强名称”

问题

生成具有业务流程的解决方案时,会收到错误“程序集生成失败 -- 引用的程序集”<assembly>“没有强名称。

原因

当在业务流程中使用来自未签名引用程序集的类型时,会发生此问题。

决议

将强名称应用于引用的程序集。 如果它是可以重新编译的自定义程序集,请使用强名称工具创建 .snk (key) 文件,然后在项目的程序集属性中引用该键文件。 有关程序集的强命名的详细信息,请参阅 如何配置强名称程序集密钥文件

错误“无法添加资源。” 在部署编排时,发生某些资源的变更请求失败

问题

部署业务流程时,会显示类似于以下内容的错误,并且业务流程的部署失败:

Failed to add resource(s). Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Object reference not set to an instance of an object.

原因

如果业务流程包含任何使用 C# 关键字的对象,则会发生此错误。

决议

从编排中删除任何 C# 关键字。 有关详细信息,请参阅 C# 关键字列表

编译编排时收到“无效属性值”错误

问题

在编写业务流程时,您会收到“属性值无效”错误对话框。

原因

解决方案中的一个或多个对象与另一个对象同名。 例如,消息名称与端口名称相同。

决议

确保解决方案中的每个对象都具有唯一的名称。 可以遵循命名约定来最大程度地降低此错误的风险。

另请参阅

如何构建编排