我有一个 XAML 作为字符串,我编译然后执行。
DynamicActivity workflowActivity = (DynamicActivity)ActivityXamlServices.Load(new StringReader(xaml));
这个工作流有一个 Person 对象(类型:Namespace Workflow.Model.Person)作为输入,所以我传递参数并执行它。
Dictionary<String,Object> parameters = new Dictionary<String,Object>();
Workflow.Model.Person person = new Workflow.Model.Person();
person.FirstName = "John";
parameters["Person"] = person;
WorkflowInvoker.Invoke(workflowActivity, parameters);
我得到以下异常:
[System.ArgumentException] = {“没有为 Workflow.Model.Person 类型定义属性‘System.String FirstName’”}
System.Linq.Expressions.Expression.Property(Expression expression, PropertyInfo property) 引发错误。
我尝试了很多事情都没有成功。如果我在工作流中删除属性 FirstName 的访问权限,它会正确执行。根据建议,我添加了引用的导入,但它不起作用:
VisualBasicSettings.Default.ImportReferences.Add(new VisualBasicImportReference()
{
Assembly = typeof(Person).Assembly.FullName,
Import = typeof(Person).Namespace
});
任何输入表示赞赏。
谢谢。