小编use*_*400的帖子

Azure DevOps Pipeline 错误“包 (...) 与 net60 不兼容”

我在 Azure Devops 中有源代码控制和管道。

我的项目有两个目标框架:3.1 和 6。

运行管道时,恢复包时会抛出错误:

##[错误]nuget 命令失败,退出代码(1) 和错误(D:\a\1\s\nuget-tst\src\nuget-tst.csproj 包 Microsoft.Extensions.Configuration.Json 3.1 中的错误。 3 与 net60 (.NETFramework,Version=v6.0) 不兼容。包 Microsoft.Extensions.Configuration.Json 3.1.3 支持: - netcoreapp3.1 (.NETCoreApp,Version=v3.1) - netstandard2.0 (. NETStandard,Version=v2.0) 包 Microsoft.Extensions.Configuration.FileExtensions 3.1.3 与 net60 (.NETFramework,Version=v6.0) 不兼容。包 Microsoft.Extensions.Configuration.FileExtensions 3.1.3 支持: - netcoreapp3 .1 (.NETCoreApp,Version=v3.1) - netstandard2.0 (.NETStandard,Version=v2.0) 包 Microsoft.Extensions.Configuration.EnvironmentVariables 3.1.3 与 net60 (.NETFramework,Version=v6.1) 不兼容0). 软件包 Microsoft.Extensions.Configuration.EnvironmentVariables 3.1.3 支持: - netcoreapp3.1 (.NETCoreApp,Version=v3.1) - netstandard2.0 (.NETStandard,Version=v2.0) 一个或多个软件包不兼容使用.NETFramework,版本=v6.0。包 Microsoft.IdentityModel.Tokens 6.5.0 与 netcoreapp3.1 (.NETCoreApp,版本=v3.1) 不兼容。包 Microsoft.IdentityModel.Tokens 6.5.0 支持: - net45 (.NETFramework,Version=v4.5) - net461 (.NETFramework,Version=v4.6.1) …

yaml azure-devops azure-pipelines

10
推荐指数
1
解决办法
6190
查看次数

Azure 队列触发器 - 在不工作时执行一条消息

我有一个与队列关联的 azure 队列触发器,我想确保触发器一次只读取和执行一条消息。因此,当消息被执行(成功与否)时,它会处理下一条消息。

正在发生的事情是队列执行一条消息,但它开始执行另一条消息。我的主机.json:

"queues": {
    "maxPollingInterval": 20000,
    "visibilityTimeout": "00:01:00",
    "batchSize": 1,
    "maxDequeueCount": 5,
    "newBatchThreshold": 1
  }
Run Code Online (Sandbox Code Playgroud)

以下来自 MS 链接的说明:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue#trigger---configuration

如果要避免在一个队列上接收的消息并行执行,可以将 batchSize 设置为 1

所以预计一次只运行一条消息(我正在使用消费计划)。

这很关键,因为我需要确保它当时只处理一条消息。

有什么设置可以更改吗?

或者队列触发器不是解决这个需求的好选择?

azure azure-queues azure-functions

6
推荐指数
2
解决办法
4876
查看次数

.NET 6 C# 从 List<Task> 获取结果不起作用

我有 ASP.NET Core 6 API 的一部分,用于与另一个服务连接。这是一个批量操作(最多可能有 2 到 4 个操作),我想并行执行它。

为了实现这一目标,我正在尝试利用这样的任务:

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

foreach(var item in items)
{
    tasks.Add(PerformTask(item));
}

await Task.WhenAll(tasks);

foreach(var task in tasks)
{
    task.Result;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从每个任务获取结果时,“结果”属性不存在。

我缺少什么?

c# task .net-6.0

2
推荐指数
1
解决办法
294
查看次数