Workaround IExperimentationService having a UI thread dependency
Right now we are seeing deadlocks where MEF is trying to create the RoslynVisualStudioWorkspace on a background thread, and that deadlocks because the IExperimentationService it tries to use has a UI thread dependency. This breaks that specific cycle by avoiding using the IExperimentationService until on the UI thread -- we know we can't be asked for document options until we have documents, and that can't happen until we get projects. Thankfully, the creation of projects are still UI affinitized so we can initialize it there.
显示
- src/VisualStudio/Core/Def/Implementation/ProjectSystem/VisualStudioProjectFactory.cs 3 个添加, 0 个删除...mplementation/ProjectSystem/VisualStudioProjectFactory.cs
- src/VisualStudio/Core/Def/Implementation/ProjectSystem/VisualStudioWorkspaceImpl.cs 27 个添加, 2 个删除...Implementation/ProjectSystem/VisualStudioWorkspaceImpl.cs
- src/VisualStudio/Core/Impl/RoslynVisualStudioWorkspace.cs 1 个添加, 11 个删除src/VisualStudio/Core/Impl/RoslynVisualStudioWorkspace.cs
- src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/TestEnvironment.vb 4 个添加, 1 个删除...Utilities2/ProjectSystemShim/Framework/TestEnvironment.vb
加载中
想要评论请 注册 或 登录