在Visual Studio 2012中打开动力学工作流文件(.xaml)时出错

在Visual Studio 2012中打开动力学工作流文件(.xaml)时出错,xaml,visual-studio-2012,dynamics-crm-2011,workflow-foundation,Xaml,Visual Studio 2012,Dynamics Crm 2011,Workflow Foundation,当我试图打开一个.xaml文件时,设计器只显示一个红色框,上面写着“无法生成工作流视图” 以下是我采取的步骤: 在Dynamics CRM 2011中创建一个简单的工作流,它只有一个if条件和一个发送电子邮件步骤 将工作流添加到解决方案,并将解决方案导出为非托管 在Visual Studio 2012中,创建.NET 4活动库 在project上单击鼠标右键,添加现有文件并选择在解决方案中导出的xaml文件 双击.xaml文件以在设计器中查看它 我下面的教程都是使用Visual Studio 2

当我试图打开一个.xaml文件时,设计器只显示一个红色框,上面写着“无法生成工作流视图”

以下是我采取的步骤:

  • 在Dynamics CRM 2011中创建一个简单的工作流,它只有一个if条件和一个发送电子邮件步骤
  • 将工作流添加到解决方案,并将解决方案导出为非托管
  • 在Visual Studio 2012中,创建.NET 4活动库
  • 在project上单击鼠标右键,添加现有文件并选择在解决方案中导出的xaml文件
  • 双击.xaml文件以在设计器中查看它
  • 我下面的教程都是使用Visual Studio 2010编写的,这让我怀疑VS 2012是否有问题

    编辑:实际异常:

    System.NullReferenceException:对象引用未设置为对象的实例。 位于Microsoft.Xrm.Sdk.Workflow.Activities.ReferenceLiteral
    1.CacheMatadata(CodeActivityMetadata元数据)
    位于System.Activities.CodeActivity
    1.OnInternalCacheMataExceptResult(布尔createEmptyBindings) 在System.Activities.Activity
    1.OnInternalCacheMatadata(布尔createEmptyBindings)
    位于System.Activities.Activity.InternalCacheMatadata(布尔createEmptyBindings、IList
    1和validationErrors) 在System.Activities.ActivityUtilities.ProcessActivity(ChildActivity ChildActivity,ChildActivity&nextActivity,Stack
    1&Activities剩余,ActivityCallStack父链,IList
    1&validationErrors,ProcessActivityTreeOptions,ProcessActivityCallback回调) 在System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity、ActivityCallStack父链、ProcessActivityTreeOptions、ProcessActivityCallback回调、IList
    1和validationErrors)
    位于System.Activities.ActivityUtilities.CacheRootMetadata(Activity-Activity、LocationReferenceEnvironment-hostEnvironment、ProcessActivityTreeOptions、ProcessActivityCallback回调、IList
    1和validationErrors) 在System.Activities.Validation.ActivityValidationServices.InternalActivityValidationServices.InternalValidate()中 位于System.Activities.Validation.ActivityValidationServices.Validate(Activity toValidate,ValidationSettings设置) 位于System.Activities.Presentation.ValidationService.CoreValidationWork(ValidationReason,CancellationToken CancellationToken)


    我找到的唯一解决方案是降级到CRM SDK版本1.0(而不是当前版本的1.1)。那么在VS2010中就可以工作了。

    好吧,GUI肯定已经坏了。太丑了……:)我在VS 2010和VS 2012中遇到了同样的错误。希望有一个答案,因为CRM人员不允许我们通过导出解决方案、黑客攻击然后重新导入解决方案以外的任何其他方式编辑工作流。