C# 可等待的can';不要等待?如何等待IAsyncOperation

C# 可等待的can';不要等待?如何等待IAsyncOperation,c#,asynchronous,uwp,async-await,C#,Asynchronous,Uwp,Async Await,我真的快发疯了,我不能对下面的异步方法使用任何等待 这是一个UWP应用程序,下面的代码位于基于.NET标准2.0的核心项目中 我已经包括了全部代码,显然还没有完成。最奇怪的行为是位图解码器表示没有GetAwaiter(您是否缺少使用?)的),当我删除wait时,它表示需要添加一个wait:D 使用System.Threading.Tasks; 使用Windows.Storage.Streams; 使用Windows.UI.Xaml.Media.Imaging; 使用Windows.Graphic

我真的快发疯了,我不能对下面的异步方法使用任何等待

这是一个UWP应用程序,下面的代码位于基于.NET标准2.0的核心项目中

我已经包括了全部代码,显然还没有完成。最奇怪的行为是
位图解码器
表示没有
GetAwaiter
(您是否缺少使用?)的
),当我删除wait时,它表示需要添加一个wait:D

使用System.Threading.Tasks;
使用Windows.Storage.Streams;
使用Windows.UI.Xaml.Media.Imaging;
使用Windows.Graphics.Imaging;
命名空间。。。
{
公共类缓存服务
{
公共异步任务GetCachedImage(长?productId,长?imageId)
{
返回null;
}
公共异步任务SaveImage(字节[]imageBytes,long?productId,long?imageId)
{
BitmapImage=新的BitmapImage();
使用(InMemoryRandomAccessStream=新建InMemoryRandomAccessStream())
{
使用(数据写入程序=新数据写入程序(流))
{
writer.WriteBytes(imageBytes);
writer.StoreAsync();
writer.FlushAsync();
writer.DetachStream();
}
stream.Seek(0);
image.SetSourceAsync(流);
BitmapDecoder decoder=等待BitmapDecoder.CreateAsync(流);
}
返回图像;
}
}
}

您需要一些东西来等待iSyncoperation:我不确定您在使用netstandard时需要什么(我很久以前就停止使用UWP),但这应该是一个不错的选择start@KevinGosse谢谢,这很有帮助。该应用程序是为我自己的业务开发的,我想尝试一下UWP(因为它是一个小应用程序,如果需要,我可以很容易地将它转换到不同的平台)…为什么停止使用UWP?这是因为在.NETStandard项目中使用了UWP特定的类。BitmapDecoder不是.netstandard,相当神秘的是您是如何编译它的。由于该库永远不会成为标准库,因此您需要通过使用正确的项目模板来获得成功。它的名字是“类库(通用Windows)”@SparkyRih不是因为技术本身的原因。只是我很久没有编写客户端应用程序了:pHi,就像@SparkyRih所说的,你需要创建一个
类库(通用Windows)
,而不是
类库(.Net标准)
。你需要一些东西来等待iSynctionation:我不确定你在使用netstandard时需要什么(我很久以前就停止使用UWP了),但这应该是个好主意start@KevinGosse谢谢,这很有帮助。该应用程序是为我自己的业务开发的,我想尝试一下UWP(因为它是一个小应用程序,如果需要的话,我可以轻松地将它转换到不同的平台)…您为什么停止使用UWP?这是因为您在.NETStandard项目中使用了UWP特定的类。BitmapDecoder不是.NETStandard,它是如何编译的,相当神秘。因为库永远都不是标准的,所以您需要使用正确的项目模板来获得成功。它的名称是“类库(通用Windows)”@SparkyRih不是因为技术本身的原因。只是我很久没有编写客户端应用程序了:pHi,就像@SparkyRih所说的,你需要创建一个
类库(通用Windows)
,而不是
类库(.Net标准)