工作流程不会编译

时间:2015-02-02 08:34:37

标签: xaml tfsbuild

我在尝试执行自定义构建定义时遇到以下错误(仅包含1个自定义CodeActivity):

Exception Message: Expression Activity type 'CSharpReference`1' requires compilation in order to run.  Please ensure that the workflow has been compiled. (type NotSupportedException)

我已经尝试了多个建议的答案来解决此错误,但它们都不适用于我的活动。我的CodeActivity只有几种方法可以在目录中搜索特定文件,然后返回包含文件名的分隔字符串。

我不使用任何WorkflowInvoker或任何DynamicActivities。为什么我会一直收到这个错误?

由于

3 个答案:

答案 0 :(得分:2)

我在分配步骤中遇到了同样的错误。

System.NotSupportedException: Expression Activity type 'CSharpValue`1' requires compilation in order to run.  
Please ensure that the workflow has been compiled.

决议是从声明中删除回车。

例如,这有效:

new Foo() { Bar = new Bar() { MyProp1 = "123" } }

这不是:

new Foo() 
{ 
    Bar = new Bar()
    {
        MyProp1 = "123"
    }
}

答案 1 :(得分:0)

我决定不使用干净的xaml文件,而是使用TFS提供的默认模板。默认模板运行我的活动没有错误。

答案 2 :(得分:0)

我能够通过使用TFS提供的默认模板,清除所有活动,以及在原始自定义模板中添加自定义活动和参数来修复此解决方案。

然而,更深入地了解这个问题,似乎是由于自定义模板使用C#表达式来处理参数。默认模板设置为使用VB表达式的参数。

就我而言,语言并不重要,因为这些值只是字符串。