C# 在SharePoint 2013工作流期间对变量使用自定义类型

C# 在SharePoint 2013工作流期间对变量使用自定义类型,c#,workflow,sharepoint-2013,workflow-foundation-4,sharepoint-workflow,C#,Workflow,Sharepoint 2013,Workflow Foundation 4,Sharepoint Workflow,我想从只有一个属性的类中定义一个简单对象作为sharepoint 2013工作流中的变量 课程代码为: public class RssFeedItem { public string Title { get; set; } } 我可以在工作流中创建此类型的变量,如下图所示: 之后,我添加一个分配活动,并设置FeedTitle=MyFeed.Title: 但是,当我构建工作流时,出现以下错误: 错误消息为:由于以下错误,无法转换表达式“MyFeed.Title”:类型“Feed

我想从只有一个属性的类中定义一个简单对象作为sharepoint 2013工作流中的变量

课程代码为:

 public class RssFeedItem
{
    public string Title { get; set; }
}
我可以在工作流中创建此类型的变量,如下图所示:

之后,我添加一个分配活动,并设置FeedTitle=MyFeed.Title:

但是,当我构建工作流时,出现以下错误:

错误消息为:由于以下错误,无法转换表达式“MyFeed.Title”:类型“FeedReaderLib.RssFeedItem”上定义的属性“Title”不支持将属性访问转换为活动。

有人能帮我解决这个问题吗


任何帮助都将不胜感激

您似乎没有将RssFeedItem添加到AllowedTypes.xml中,请检查FeedReaderLib和AllowedTypes.xml的.dll文件是否放置在这些文件夹中:

C:\Program Files\Workflow Manager\1.0\Workflow\Artifacts
C:\Program Files\Workflow Manager\1.0\Workflow\WFWebRoot\bin
您可以在此处找到有关AllowedTypes.xml结构的更多详细信息:

但正如文章所说:

扩展允许的类型和活动集可能会对Workflow Manager 1.0的安全性、性能、可扩展性和可用性产生巨大影响,除非绝对必要,否则不应考虑扩展,例如,当工作流需要执行复杂的计算或数据转换时,这对于声明性活动中的作者来说是不切实际的。在这种情况下,高级用户可能希望改用自定义代码活动。服务器管理员可以扩展允许的类型集以包括此代码活动,前提是管理员完全信任此代码活动

也许值得尝试使用DynamicValue类型?

我解决了我的问题

我只需要将SharePoint 2013更新为Service Pack 1,然后在SharePoint上重新运行SP Register workflow Service