工作流不会编译

Workflow won't compile

我在尝试执行我的自定义构建定义(仅包含 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)

我尝试了针对此错误的多个建议答案,但其中 none 适用于我的 activity。我的 CodeActivity 只有几个方法可以在目录中搜索特定文件,然后 returns 包含文件名的分隔字符串。

我不使用任何 WorkflowInvoker 或任何 DynamicActivities。为什么我会不断收到此错误?

谢谢

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

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

不过,深入了解这个问题,似乎是自定义模板使用C#表达式处理参数造成的。默认模板设置为使用 VB 表达式作为参数。

在我的例子中,语言并不重要,因为值只是字符串。

我在赋值步骤中遇到了同样的错误。

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

解决方案是从语句中删除回车 returns。

例如这个有效:

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

这不是:

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