Workflow Designer遇到了文档问题

时间:2013-04-25 21:28:26

标签: visual-studio-2010 xaml workflow

我发现问题出在这一部分:这个:_a650.argument1 =“这是一个测试”有谁知道XAML文件中的这个表达式在Activity标记中是什么意思?

如果我把它拿出来这个:_a650.argument1 =“这是一个测试” 然后我可以在工作流设计器中打开工作流文件没有问题,但是当它在那里时,我得到以下错误消息:Workflow Designer遇到了文档问题 请检查文档中是否存在无效内容,命名空间,引用或引用循环。 在_a650类型中找不到成员argument1    有什么想法吗?

<Activity mc:Ignorable="sap sads" x:Class="{x:Null}" this:_a650.argument1="this is a test"
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities"
 xmlns:s="clr-namespace:System;assembly=mscorlib"
 xmlns:s1="clr-namespace:System;assembly=System"
 xmlns:s2="clr-namespace:System;assembly=System.Core"
 xmlns:s3="clr-namespace:System;assembly=System.ServiceModel"
 xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger"
 xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation"
 xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
 xmlns:this="clr-namespace:"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <x:Members>
    <x:Property Name="argument1" Type="InArgument(x:String)" />
  </x:Members>
  <sap:VirtualizedContainerService.HintSize>526.4,369.6</sap:VirtualizedContainerService.HintSize>
  <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings>
  <Sequence sap:VirtualizedContainerService.HintSize="486.4,329.6">
    <sap:WorkflowViewStateService.ViewState>
      <scg:Dictionary x:TypeArguments="x:String, x:Object">
        <x:Boolean x:Key="IsExpanded">True</x:Boolean>
      </scg:Dictionary>
    </sap:WorkflowViewStateService.ViewState>
    <If Condition="[2 = 2]" sap:VirtualizedContainerService.HintSize="464,204.8" />
  </Sequence>
</Activity>

1 个答案:

答案 0 :(得分:1)

x:Class={x:Null}属性更改为_a650。 XAML应该可以打开。

<Activity mc:Ignorable="sap" x:Class="_a650" this:_a650.argument1="this is a test" ... >

表达式 this:_a650.argument1 =“这是一个测试”属性定义一起在成员中声明一个IN参数键入属于_a650类型的 String (“这是一个测试”作为其默认值)。

<x:Property Name="argument1" Type="InArgument(x:String)" />

此问题的答案与您关于SO的其他问题Visual Studio 2010 - Workflow Designer encountered problems有关。因为,必须将参数声明为类型的成员,但尚未命名“root”活动以从中派生类型;生成并使用随机类型名称(如_a650)。

但是,“root”活动名称未更新,因此XAML序列化x:Class仍会生成为{x:Null}。当在工作流设计器中打开相同的XAML时,这会导致命名空间错误,因为XAML解析器无法找到声明为x:Class类型的任何_a650