我已经实现了一个 Azure 持久功能,如您所知,它包含我的Orchestration、Orchestrator和Activities。
关键是我的一项活动是在另一个程序集中实现的,我将其引用为 nuget 包。
现在的问题是,当我在 Visual Studio 中运行我的解决方案时,AzureFunctionsTools 加载了所有 Azure Functions,但未列出位于 nuget 包中的此活动,并且我面临以下错误消息:
错误: “MyExternalActivity”不存在、被禁用或不是活动函数。附加信息:以下是已知的活动功能:“MyLocalActivity”。
这是我在 nuget 项目中的 MyExternalActivity 定义:
[FunctionName(FunctionName)]
public async Task<object> Run([ActivityTrigger] DurableActivityContextBase context)
{
...
}
这是我的 Orchestrator 课程:
[FunctionName(FunctionName)]
public static async Task RunOrchestrator([OrchestrationTrigger] DurableOrchestrationContextBase context, ILogger log)
{
...
await context.CallActivityAsync<object>("MyLocalActivity", parameters); // Successfull; code is in this solution
...
...
await context.CallActivityAsync<object>("MyExternalActivity" , parameters); // Error; Referenced by nuget package
...
}
注意:我尝试删除引用并将nuget代码项目添加到相同的解决方案并直接通过项目引用,但发生同样的错误