首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将活动发布到WorkflowManager时错误类型无效

将活动发布到WorkflowManager时错误类型无效
EN

Stack Overflow用户
提问于 2014-10-27 12:05:39
回答 2查看 1.4K关注 0票数 0

我安装了Worfklow Manger 1.0。我可以使用WorkflowManagerClient浏览作用域。但是,当我试图发布活动时,我会得到以下错误:

代码语言:javascript
运行
复制
System.InvalidOperationException: Microsoft.Workflow.Client.ActivityValidationException: Workflow XAML failed validation due to the following errors: Invalid type(s) 'System.Activities.Expressions.AssemblyReference'.

活动是从VS中的模板创建的空活动。其中没有使用自定义类型。我已经找到了(System.Activities.Expressions.AssemblyReference).,并且我请求可以创建AllowedTypes.xml文件,但是添加在基本的空活动中使用的类型(基本上是系统类型)是很困难的

我需要创建System.Activities.Expressions.AssemblyReference文件并将其作为一种类型吗?有人非得这么做吗?

编辑:

引起相同错误的其他类型有:

代码语言:javascript
运行
复制
Microsoft.CSharp.Activities.CSharpReference`1
Microsoft.CSharp.Activities.CSharpValue`1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-27 14:43:26

因此,在发布之前,我应该使用ExpressionTranslator来翻译所有的活动。翻译是工作流管理器中工作流发布过程中的一个步骤。它基本上在将工作流发布(安装)到主机之前,以XAML所需的形式翻译工作流活动中的所有表达式。

我使用了工作流管理器教程翻译方法:

代码语言:javascript
运行
复制
public static XElement Translate(string xamlFile)
    {
        string translatedWorkflowString = null;

        using (XamlReader xamlReader = new XamlXmlReader(xamlFile))
        {
            TranslationResults result = ExpressionTranslator.Translate(xamlReader);
            if (result.Errors.Count == 0)
            {
                StringBuilder sb = new StringBuilder();
                using (XmlWriter xmlWriter = XmlWriter.Create(sb, new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true }))
                {
                    using (XamlXmlWriter writer = new XamlXmlWriter(xmlWriter, result.Output.SchemaContext))
                    {
                        XamlServices.Transform(result.Output, writer);
                    }
                }
                translatedWorkflowString = sb.ToString();
            }
            else
            {
                throw new InvalidOperationException("Translation errors");
            }
        }

        return XElement.Parse(translatedWorkflowString);
    }
票数 0
EN

Stack Overflow用户

发布于 2015-04-09 22:01:16

我不知道是否为时已晚,但我也遇到了同样的问题,即使是最新的SharePoint服务器2013年升级。

我所做的是将来自SharePoint Designer工作流的"workflow.xaml“文件(将其作为模板保存到站点资产库中之后)与从Visual 2013中生成的"workflow.xaml”进行比较。我发现并解决了我的问题,就是添加这两个属性作为活动元素的一部分。

代码语言:javascript
运行
复制
xmlns:local

="clr-namespace:Microsoft.SharePoint.WorkflowServices.Activities"

xmlns:mwaw

="clr-namespace:Microsoft.Web.Authoring.Workflow;assembly=Microsoft.Web.Authoring"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26587198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档