Azure Batch 中的任务失败和退出代码 -532462766

Task failure and Exit code -532462766 in Azure Batch

我正在尝试 运行 Azure Batch 中的控制台应用程序。到目前为止,我已经创建了负责在 Azure Batch 中创建和 运行ning 作业和任务的客户端应用程序。我的 ClientApplication 成功创建了一个作业,作业中的一个任务,但是当上传到 AzureStorage 的应用程序代码在 Azure 池中执行时,任务失败并退出,退出代码为 -532462766。我找不到此退出代码的任何信息。请帮我解决这个问题。

这是我创建任务的代码及其配置

    private static async Task<List<CloudTask>> AddTasksAsync(BatchClient batchClient, string jobId)
    {
        Console.WriteLine("Adding {0} tasks to job [{1}]...", 1, jobId);

        List<CloudTask> tasks = new List<CloudTask>();

        string taskId = "topNtask";
        string taskCommandLine = String.Format("cmd /c %AZ_BATCH_NODE_SHARED_DIR%\SelfHostedWebAPI.exe {0} {1} {2}", 11109, "MSS_F_MST_______", "Normal");
        //string taskCommandLine = String.Format("cmd /c %AZ_BATCH_NODE_SHARED_DIR%\SelfHostedWebAPI.exe");

        CloudTask task = new CloudTask(taskId, taskCommandLine);
        tasks.Add(task);

        await batchClient.JobOperations.AddTaskAsync(jobId, tasks);

        return tasks;
    }

以及来自我的 Azure 门户的任务失败报告

-532462766对应的十六进制值为0xE0434352;有关此错误 code/exception 的更多信息,请参见此 SO post. Common culprits are missing assemblies (see the Assembly Binding Log Viewer)。此外,Windows 事件查看器可能能够在您求助于 WinDbg 和 SOS 之前为您提供更多信息。

我终于找到了这个问题的解决方案,在这里节省宝贵的时间是解决方案。 我们需要将 Azure 池中 运行 代码的每个 .dll 文件和依赖项上传到链接的 AzureStorage 帐户。此外,当创建池时,每个 .dll 文件或任何其他类型的 SAS(共享访问签名,用于它指向的目标 .dll)都应作为参数提供给它 StartTask is initialized, a ResourceFile .