diff --git a/.editorconfig b/.editorconfig
index a3d8b54ab..4cbf46047 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -128,6 +128,7 @@ resharper_web_config_module_not_resolved_highlighting=warning
resharper_web_config_type_not_resolved_highlighting=warning
resharper_web_config_wrong_module_highlighting=warning
+dotnet_diagnostic.VSTHRD200.severity = none
[*.{cs,cshtml}]
charset=utf-8
diff --git a/Directory.Build.props b/Directory.Build.props
index 42bad2d6e..b55d07820 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -5,7 +5,7 @@
David Driscoll
preview
strict
-
+ enable
true
false
images/packageicon.png
@@ -24,7 +24,7 @@
-
+ Visible="false"/>
+
diff --git a/benchmarks/Pipeline/Class1.cs b/benchmarks/Pipeline/Class1.cs
index 641e34f4b..ccd5286d7 100644
--- a/benchmarks/Pipeline/Class1.cs
+++ b/benchmarks/Pipeline/Class1.cs
@@ -17,19 +17,19 @@ namespace Pipeline
[SimpleJob(RuntimeMoniker.NetCoreApp21)]
public class ClassicVsPipelines
{
- private const string sampleCommand =
+ private const string SampleCommand =
"Content-Length: 88\r\n\r\n{\"seq\":1,\"type\":\"response\",\"request_seq\":1,\"success\":true,\"command\":\"command\",\"body\":{}}";
- private const string anotherPayload =
+ private const string AnotherPayload =
"Content-Length: 894\r\n\r\n{\"edit\":{\"documentChanges\":[{\"textDocument\":{\"version\":1,\"uri\":\"file:///abc/123/d.cs\"},\"edits\":[{\"range\":{\"start\":{\"line\":1,\"character\":1},\"end\":{\"line\":2,\"character\":2}},\"newText\":\"new text\"},{\"range\":{\"start\":{\"line\":3,\"character\":3},\"end\":{\"line\":4,\"character\":4}},\"newText\":\"new text2\"}]},{\"textDocument\":{\"version\":1,\"uri\":\"file:///abc/123/b.cs\"},\"edits\":[{\"range\":{\"start\":{\"line\":1,\"character\":1},\"end\":{\"line\":2,\"character\":2}},\"newText\":\"new text2\"},{\"range\":{\"start\":{\"line\":3,\"character\":3},\"end\":{\"line\":4,\"character\":4}},\"newText\":\"new text3\"}]},{\"kind\":\"create\",\"uri\":\"file:///abc/123/b.cs\",\"options\":{\"overwrite\":true,\"ignoreIfExists\":true}},{\"kind\":\"rename\",\"oldUri\":\"file:///abc/123/b.cs\",\"newUri\":\"file:///abc/123/c.cs\",\"options\":{\"overwrite\":true,\"ignoreIfExists\":true}},{\"kind\":\"delete\",\"uri\":\"file:///abc/123/c.cs\",\"options\":{\"recursive\":false,\"ignoreIfNotExists\":true}}]}}";
- private ClassicHandler _classic;
- private PipelinesBased _pipelines;
+ private ClassicHandler? _classic;
+ private PipelinesBased? _pipelines;
[Params(
- sampleCommand,
- anotherPayload
+ SampleCommand,
+ AnotherPayload
)]
public string Payload { get; set; }
diff --git a/sample/SampleServer/TextDocumentHandler.cs b/sample/SampleServer/TextDocumentHandler.cs
index e36edd029..a65bf4655 100644
--- a/sample/SampleServer/TextDocumentHandler.cs
+++ b/sample/SampleServer/TextDocumentHandler.cs
@@ -13,6 +13,7 @@
using OmniSharp.Extensions.LanguageServer.Protocol.Server.Capabilities;
using OmniSharp.Extensions.LanguageServer.Protocol.Server.WorkDone;
using OmniSharp.Extensions.LanguageServer.Protocol.Workspace;
+#pragma warning disable CS0618
namespace SampleServer
{
@@ -154,17 +155,16 @@ CancellationToken cancellationToken
internal class MyWorkspaceSymbolsHandler : WorkspaceSymbolsHandler
{
- private readonly IServerWorkDoneManager _manager;
private readonly IServerWorkDoneManager _serverWorkDoneManager;
private readonly IProgressManager _progressManager;
- private readonly ILogger logger;
+ private readonly ILogger _logger;
public MyWorkspaceSymbolsHandler(IServerWorkDoneManager serverWorkDoneManager, IProgressManager progressManager, ILogger logger) :
base(new WorkspaceSymbolRegistrationOptions())
{
_serverWorkDoneManager = serverWorkDoneManager;
_progressManager = progressManager;
- this.logger = logger;
+ this._logger = logger;
}
public override async Task> Handle(
diff --git a/src/Client/LangaugeClientRegistry.cs b/src/Client/LangaugeClientRegistry.cs
index c798c415d..f77d32db4 100644
--- a/src/Client/LangaugeClientRegistry.cs
+++ b/src/Client/LangaugeClientRegistry.cs
@@ -1,4 +1,3 @@
-using System;
using DryIoc;
using OmniSharp.Extensions.JsonRpc;
using OmniSharp.Extensions.LanguageServer.Protocol.Client;
diff --git a/src/Client/LanguageClientServiceCollectionExtensions.cs b/src/Client/LanguageClientServiceCollectionExtensions.cs
index 893852922..7fec5fc1d 100644
--- a/src/Client/LanguageClientServiceCollectionExtensions.cs
+++ b/src/Client/LanguageClientServiceCollectionExtensions.cs
@@ -7,7 +7,6 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.Primitives;
using OmniSharp.Extensions.JsonRpc;
using OmniSharp.Extensions.LanguageServer.Client.Configuration;
using OmniSharp.Extensions.LanguageServer.Protocol.Client;
diff --git a/src/Dap.Client/DebugAdapterClient.cs b/src/Dap.Client/DebugAdapterClient.cs
index c7d5b4a2c..cb79819a0 100644
--- a/src/Dap.Client/DebugAdapterClient.cs
+++ b/src/Dap.Client/DebugAdapterClient.cs
@@ -161,11 +161,11 @@ await DebugAdapterEventingHelper.Run(
_instanceHasStarted.Started = true;
}
- async Task IRequestHandler.Handle(InitializedEvent request, CancellationToken cancellationToken)
+ Task IRequestHandler.Handle(InitializedEvent request, CancellationToken cancellationToken)
{
_initializedComplete.OnNext(request);
_initializedComplete.OnCompleted();
- return Unit.Value;
+ return Unit.Task;
}
private void RegisterCapabilities(InitializeRequestArguments capabilities)
diff --git a/src/Dap.Client/DefaultDebugAdapterClientFacade.cs b/src/Dap.Client/DefaultDebugAdapterClientFacade.cs
index 2c4860161..6d9fc4f58 100644
--- a/src/Dap.Client/DefaultDebugAdapterClientFacade.cs
+++ b/src/Dap.Client/DefaultDebugAdapterClientFacade.cs
@@ -1,7 +1,6 @@
using DryIoc;
using OmniSharp.Extensions.DebugAdapter.Protocol;
using OmniSharp.Extensions.DebugAdapter.Protocol.Client;
-using OmniSharp.Extensions.DebugAdapter.Protocol.Server;
using OmniSharp.Extensions.JsonRpc;
namespace OmniSharp.Extensions.DebugAdapter.Client
diff --git a/src/Dap.Shared/DapResponseRouter.cs b/src/Dap.Shared/DapResponseRouter.cs
index 1ff379023..0133caaeb 100644
--- a/src/Dap.Shared/DapResponseRouter.cs
+++ b/src/Dap.Shared/DapResponseRouter.cs
@@ -110,7 +110,9 @@ public async Task Returning(CancellationToken cancellation
cancellationToken.Register(
() => {
if (tcs.Task.IsCompleted) return;
+#pragma warning disable VSTHRD110
_router.SendRequest(RequestNames.Cancel, new { requestId = nextId }).Returning(CancellationToken.None);
+#pragma warning restore VSTHRD110
}
);
}
diff --git a/src/JsonRpc.Generators/GenerateRequestMethodsGenerator.cs b/src/JsonRpc.Generators/GenerateRequestMethodsGenerator.cs
index b5780fb9e..44d90907d 100644
--- a/src/JsonRpc.Generators/GenerateRequestMethodsGenerator.cs
+++ b/src/JsonRpc.Generators/GenerateRequestMethodsGenerator.cs
@@ -65,7 +65,7 @@ public Task GenerateRichAsync(TransformationContext contex
{
var requestType = GetRequestType(handlerInterface);
var responseType = GetResponseType(handlerInterface);
- methods.AddRange(HandleRequests(handlerInterface, symbol, requestType, responseType, registry, additionalUsings));
+ methods.AddRange(HandleRequests(handlerInterface, symbol, requestType, responseType!, registry, additionalUsings));
}
}
diff --git a/src/JsonRpc.Testing/JsonRpcServerTestBase.cs b/src/JsonRpc.Testing/JsonRpcServerTestBase.cs
index b926e76a8..540aeca4f 100644
--- a/src/JsonRpc.Testing/JsonRpcServerTestBase.cs
+++ b/src/JsonRpc.Testing/JsonRpcServerTestBase.cs
@@ -72,8 +72,10 @@ Action serverOptionsAction
);
await Task.WhenAll(clientTask, serverTask).ConfigureAwait(false);
+#pragma warning disable VSTHRD103
_client = clientTask.Result;
_server = serverTask.Result;
+#pragma warning restore VSTHRD103
Disposable.Add(_client);
Disposable.Add(_server);
diff --git a/src/JsonRpc/HandlerCollection.cs b/src/JsonRpc/HandlerCollection.cs
index e1a913f38..e8f1d5ac6 100644
--- a/src/JsonRpc/HandlerCollection.cs
+++ b/src/JsonRpc/HandlerCollection.cs
@@ -7,7 +7,6 @@
using System.Reflection;
using DryIoc;
using MediatR;
-using Microsoft.Extensions.DependencyInjection;
namespace OmniSharp.Extensions.JsonRpc
{
diff --git a/src/JsonRpc/JsonRpcHandlerCollectionExtensions.cs b/src/JsonRpc/JsonRpcHandlerCollectionExtensions.cs
index 8db4804fd..65695712e 100644
--- a/src/JsonRpc/JsonRpcHandlerCollectionExtensions.cs
+++ b/src/JsonRpc/JsonRpcHandlerCollectionExtensions.cs
@@ -1,7 +1,5 @@
-using System;
using System.Collections.Generic;
using DryIoc;
-using Microsoft.Extensions.DependencyInjection;
namespace OmniSharp.Extensions.JsonRpc
{
diff --git a/src/JsonRpc/JsonRpcServer.cs b/src/JsonRpc/JsonRpcServer.cs
index 759b657c8..e6b749620 100644
--- a/src/JsonRpc/JsonRpcServer.cs
+++ b/src/JsonRpc/JsonRpcServer.cs
@@ -7,7 +7,7 @@
namespace OmniSharp.Extensions.JsonRpc
{
- public class JsonRpcServer : JsonRpcServerBase, IJsonRpcServer, IServiceProvider
+ public class JsonRpcServer : JsonRpcServerBase, IJsonRpcServer
{
private readonly Connection _connection;
private readonly IServiceProvider _serviceProvider;
diff --git a/src/JsonRpc/RequestRouterBase.cs b/src/JsonRpc/RequestRouterBase.cs
index 8ef8b8b92..0470fc30b 100644
--- a/src/JsonRpc/RequestRouterBase.cs
+++ b/src/JsonRpc/RequestRouterBase.cs
@@ -150,7 +150,8 @@ ILogger logger
{
var property = typeof(Task<>)
.MakeGenericType(result.GetType().GetTypeInfo().GetGenericArguments()[0]).GetTypeInfo()
- .GetProperty(nameof(Task