我在尝试执行自定义构建定义时遇到以下错误(仅包含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。为什么我会一直收到这个错误?
由于
答案 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表达式的参数。
就我而言,语言并不重要,因为这些值只是字符串。