我们有一个 .net core 3.1 项目,我们刚刚将 roslyn analyzers 升级到版本 6.0。在这样做后,以下代码行开始出现“CA2007: 考虑在等待的任务上调用 ConfigureAwait。” 错误:
await using var memoryStream = new MemoryStream(fileByteArray);
如果我们尝试添加ConfigureAwait调用,代码如下:
await using var memoryStream = new MemoryStream(fileByteArray).ConfigureAwait(false);
这将导致memoryStream成为ConfiguredAsyncDisposable而不是实际的MemoryStream,这将阻止进一步的代码编译。
如何在我们的await using语句中添加ConfigureAwait以消除警告,但仍保持我们的memoryStream是实际的MemoryStream?如果可能的话,我们希望不必压制它。
new MemoryStream
将会有警告/错误:在失去作用域之前,请处理memoryStream
--> 当前问题讨论链接: https://github.com/dotnet/roslyn-analyzers/issues/5712 - undefined