gpt4 book ai didi

c# - .netstandard 库和 UniversalApiContract

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:26 26 4
gpt4 key购买 nike

我正在构建一个 .NETStandard 库(1.3 版),在库中使用异步等待工作正常,直到我添加对 Windows.Foundation.UniversalApiContract 的引用。添加此引用后,我的代码中的每个 await 关键字都会出错

这是错误

'IAsyncAction' does not contain a definition for 'GetAwaiter' and no extension method 'GetAwaiter' accepting a first argument of type 'IAsyncAction' could be found

这是我需要运行的代码

await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Low, () => { OnUserChanged?.Invoke(user); });

删除 await 关键字会生成有效代码,但我会收到此警告

Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.

我该如何解决这个问题?

最佳答案

确保您的代码文件顶部有using System;。它具有将 IAsyncAction 转换为 Task 所需的扩展。

如果这不起作用,请尝试此语句(只是为了查看代码是否编译和运行):

var a = CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Low, () => { OnUserChanged?.Invoke(user); });

await System.WindowsRuntimeSystemExtensions.AsTask(a);

如果以上方法对您不起作用,请尝试暂时升级到 .Net Standard 1.4(同样,只是看看它是否可以编译和运行)

如果这不起作用,则库引用可能有问题。

关于c# - .netstandard 库和 UniversalApiContract,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43779869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com