diff --git a/build/import/Packages.targets b/build/import/Packages.targets
index d2c7dd7a98a..bce065c81cf 100644
--- a/build/import/Packages.targets
+++ b/build/import/Packages.targets
@@ -19,7 +19,7 @@
-
+
@@ -47,8 +47,8 @@
-
-
+
+
@@ -66,10 +66,10 @@
-
-
-
-
+
+
+
+
@@ -87,7 +87,6 @@
-
@@ -99,8 +98,8 @@
-
-
+
+
diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Packaging/DebuggerTraceListener.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Packaging/DebuggerTraceListener.cs
index 8a17dfcba1c..eaa6695a2a2 100644
--- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Packaging/DebuggerTraceListener.cs
+++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Packaging/DebuggerTraceListener.cs
@@ -38,17 +38,17 @@ public Task InitializeAsync(IAsyncServiceProvider asyncServiceProvider)
public override void Write(string message)
{
- if (Debugger.IsLogging())
+ if (System.Diagnostics.Debugger.IsLogging())
{
- Debugger.Log(0, null, message);
+ System.Diagnostics.Debugger.Log(0, null, message);
}
}
public override void WriteLine(string message)
{
- if (Debugger.IsLogging())
+ if (System.Diagnostics.Debugger.IsLogging())
{
- Debugger.Log(0, null, message + Environment.NewLine);
+ System.Diagnostics.Debugger.Log(0, null, message + Environment.NewLine);
}
}
}
diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/LanguageServices/WorkspaceProjectContextProvider.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/LanguageServices/WorkspaceProjectContextProvider.cs
index 526e66cce68..cf488aef5be 100644
--- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/LanguageServices/WorkspaceProjectContextProvider.cs
+++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/LanguageServices/WorkspaceProjectContextProvider.cs
@@ -3,6 +3,7 @@
using System;
using System.Collections.Immutable;
using System.ComponentModel.Composition;
+using System.Threading;
using System.Threading.Tasks;
using Microsoft.VisualStudio.LanguageServices.ProjectSystem;
using Microsoft.VisualStudio.ProjectSystem.Properties;
@@ -17,20 +18,17 @@ namespace Microsoft.VisualStudio.ProjectSystem.LanguageServices
internal partial class WorkspaceProjectContextProvider : IWorkspaceProjectContextProvider
{
private readonly UnconfiguredProject _project;
- private readonly IProjectThreadingService _threadingService;
private readonly IProjectFaultHandlerService _faultHandlerService;
private readonly ISafeProjectGuidService _projectGuidService;
private readonly Lazy _workspaceProjectContextFactory;
[ImportingConstructor]
public WorkspaceProjectContextProvider(UnconfiguredProject project,
- IProjectThreadingService threadingService,
ISafeProjectGuidService projectGuidService,
IProjectFaultHandlerService faultHandlerService,
Lazy workspaceProjectContextFactory) // From Roslyn, so lazy
{
_project = project;
- _threadingService = threadingService;
_faultHandlerService = faultHandlerService;
_workspaceProjectContextFactory = workspaceProjectContextFactory;
_projectGuidService = projectGuidService;
@@ -69,19 +67,17 @@ public async Task ReleaseProjectContextAsync(IWorkspaceProjectContextAccessor ac
private async Task CreateProjectContextHandlingFaultAsync(ProjectContextInitData data, object? hostObject)
{
- // TODO: https://github.com/dotnet/project-system/issues/353.
- await _threadingService.SwitchToUIThread();
-
try
{
// Call into Roslyn to init language service for this project
- IWorkspaceProjectContext context = _workspaceProjectContextFactory.Value.CreateProjectContext(
+ IWorkspaceProjectContext context = await _workspaceProjectContextFactory.Value.CreateProjectContextAsync(
data.LanguageName,
data.WorkspaceProjectContextId,
data.ProjectFilePath,
data.ProjectGuid,
hostObject,
- data.BinOutputPath);
+ data.BinOutputPath,
+ CancellationToken.None);
context.LastDesignTimeBuildSucceeded = false; // By default, turn off diagnostics until the first design time build succeeds for this project.
diff --git a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Mocks/IWorkspaceProjectContextFactoryFactory.cs b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Mocks/IWorkspaceProjectContextFactoryFactory.cs
index 654b6d5dc0a..34e07d55ce2 100644
--- a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Mocks/IWorkspaceProjectContextFactoryFactory.cs
+++ b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Mocks/IWorkspaceProjectContextFactoryFactory.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information.
using System;
+using System.Threading;
+using System.Threading.Tasks;
using Moq;
namespace Microsoft.VisualStudio.LanguageServices.ProjectSystem
@@ -12,12 +14,12 @@ public static IWorkspaceProjectContextFactory Create()
return Mock.Of();
}
- public static IWorkspaceProjectContextFactory ImplementCreateProjectContext(Func action)
+ public static IWorkspaceProjectContextFactory ImplementCreateProjectContextAsync(Func> action)
{
var mock = new Mock();
- mock.Setup(c => c.CreateProjectContext(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny