“Visual Studio 停止响应 12 秒,卸载扩展可能会有所帮助”在安装 VSIX 和打开项目时收到此消息

问题描述 投票:0回答:1

尝试添加现有/新项目时,收到诸如“无法访问已处置对象”之类的错误消息。为了解决这个问题,使该方法异步运行并得到解决,但由于打开项目后扩展出现一些延迟。在此方法中,首先出现“无法访问已处置对象”错误。

私有无效ProjectItemsEvents_AfterAddProjectItems()

{

}

使用异步方法后,扩展出现延迟。

private async void asynchronous ()

{

等待 System.Threading.Tasks.Task.Run(() => ProjectItemsEvents_AfterAddProjectItems();

}

需要知道,如何消除异步方法造成的延迟

c# visual-studio-2019 vsix
1个回答
0
投票

您正在另一个不属于请求范围的线程中运行该操作。然后应用程序认为它已完成并处理线程需要的内容 - 这与延迟无关。

你可以这样做:

private async void asynchronous ()
{
    ProjectItemsEvents_AfterAddProjectItems();
}

但是,这将被标记为警告,因为它不使用等待。

如果“ProjectItemsEvents_AfterAddProjectItems”中没有异步内容

private async void asynchronous ()
{
    await Task.FromResult(ProjectItemsEvents_AfterAddProjectItems());
}
© www.soinside.com 2019 - 2024. All rights reserved.