Closed tredition closed 1 year ago
@tredition do you happen to know the steps taken to reproduce this issue? We'd love to investigate further.
@NTaylorMullen I did not manage to reproduce it with a new Blazor WASM project. Instead, I have a more complex Blazor WASM project and there, it happens mostly when I start a new razor component. Sometimes it crashes also if I edit an existing razor file. Today, it crashed after I opened my large project.
--------------------------------------------------------------------------------
Razor.VSCode version 1.0.0-alpha3-5.0.0-preview.7.20309
--------------------------------------------------------------------------------
Razor's trace level is currently set to 'Verbose'
- To change Razor's trace level set 'razor.trace' to 'Off', 'Messages' or 'Verbose' and then restart VSCode.
- To report issues invoke the 'Report a Razor issue' command via the command palette.
-----------------------------------------------------------------------------------------------------------------------------
[Info - 10:21:13] Response value was Microsoft.AspNetCore.Razor.LanguageServer.RazorLanguageQueryResponse
[Info - 10:21:13] Finished: Routing Request (31) razor/languageQuery in 15ms
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/QueueGrid.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/Radiobutton.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/RedirectToLogin.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/SalesImport.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/SearchBar.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/SettingsPanel.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/ShoppingCartPanel.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/Summernote.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Shared/TreeNodes.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_AdDetails.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Ads.razor':
[Info - 10:21:13] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_CheckCategories.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_ChecklistDetails.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Checklists.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_CodeDetails.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Codes.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_ColorPaletteDetails.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_ColorPalettes.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_BindingPrice.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_Calculator_AuthorCopy.razor':
[Info - 10:21:14] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_Calculator_Ebook.razor':
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_Calculator_Flexbook.razor':
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_Calculator_Trade.razor':
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_MarginCalculator.razor':
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_PageCost.razor':
[Info - 10:21:15] Finding descriptor for textDocument/didChange
[Info - 10:21:15] Found attributes 1, razor::file:///c%3A/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Genre_Settings.razor
[Info - 10:21:15] Looking for handler for descriptors textDocument/didChange
[Info - 10:21:15] Checking handler textDocument/didChange:Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint
[Info - 10:21:15] Registration options OmniSharp.Extensions.LanguageServer.Protocol.Models.TextDocumentChangeRegistrationOptions
[Info - 10:21:15] Document Selector [**/*.{cshtml,razor}]
[Info - 10:21:15] Handler Selected: Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint via [**/*.{cshtml,razor}] (targeting OmniSharp.Extensions.JsonRpc.IJsonRpcNotificationHandler`1[[OmniSharp.Extensions.LanguageServer.Protocol.Models.DidChangeTextDocumentParams, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022]])
[Info - 10:21:15] Starting: Routing Notification textDocument/didChange
[Info - 10:21:15] Converting params for Notification textDocument/didChange to OmniSharp.Extensions.LanguageServer.Protocol.Models.DidChangeTextDocumentParams
[Info - 10:21:15] Applying TextChange: { [13217..13217), "
" }
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Conditions_Provisions.razor':
[Error - 10:21:15] Failed to handle request textDocument/didChange - System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'span')
at Microsoft.CodeAnalysis.Text.SourceText.CheckSubSpan(TextSpan span)
at Microsoft.CodeAnalysis.Text.CompositeText.GetSubText(TextSpan span)
at Microsoft.CodeAnalysis.Text.SourceText.WithChanges(IEnumerable`1 changes)
at Microsoft.CodeAnalysis.Text.ChangedText.WithChanges(IEnumerable`1 changes)
at Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint.ApplyContentChanges(IEnumerable`1 contentChanges, SourceText sourceText) in /_/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/RazorDocumentSynchronizationEndpoint.cs:line 172
at Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint.Handle(DidChangeTextDocumentParams notification, CancellationToken token) in /_/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/RazorDocumentSynchronizationEndpoint.cs:line 89
at OmniSharp.Extensions.LanguageServer.Server.Pipelines.ResolveCommandPipeline`2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next)
at MediatR.Pipeline.RequestPostProcessorBehavior`2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next)
at MediatR.Pipeline.RequestPreProcessorBehavior`2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next)
at OmniSharp.Extensions.JsonRpc.RequestRouterBase`1.RouteNotification(TDescriptor descriptor, Notification notification, CancellationToken token)
[Info - 10:21:15] Finished: Routing Notification textDocument/didChange in 116ms
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_CoverTemplates.razor':
[Info - 10:21:15] Finding descriptor for textDocument/didChange
[Info - 10:21:15] Found attributes 1, razor::file:///c%3A/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Genre_Settings.razor
[Info - 10:21:15] Looking for handler for descriptors textDocument/didChange
[Info - 10:21:15] Checking handler textDocument/didChange:Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint
[Info - 10:21:15] Registration options OmniSharp.Extensions.LanguageServer.Protocol.Models.TextDocumentChangeRegistrationOptions
[Info - 10:21:15] Document Selector [**/*.{cshtml,razor}]
[Info - 10:21:15] Handler Selected: Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint via [**/*.{cshtml,razor}] (targeting OmniSharp.Extensions.JsonRpc.IJsonRpcNotificationHandler`1[[OmniSharp.Extensions.LanguageServer.Protocol.Models.DidChangeTextDocumentParams, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022]])
[Info - 10:21:15] Starting: Routing Notification textDocument/didChange
[Info - 10:21:15] Finding descriptor for textDocument/completion
[Info - 10:21:15] Converting params for Notification textDocument/didChange to OmniSharp.Extensions.LanguageServer.Protocol.Models.DidChangeTextDocumentParams
[Info - 10:21:15] Found attributes 1, razor::file:///c%3A/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Genre_Settings.razor
[Info - 10:21:15] Looking for handler for descriptors textDocument/completion
[Info - 10:21:15] Checking handler textDocument/completion:Microsoft.AspNetCore.Razor.LanguageServer.Completion.RazorCompletionEndpoint
[Info - 10:21:15] Registration options OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionRegistrationOptions
[Info - 10:21:15] Document Selector [**/*.{cshtml,razor}]
[Info - 10:21:15] Applying TextChange: { [13206..13206), "<" }
[Error - 10:21:15] Failed to handle request textDocument/didChange - System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'span')
at Microsoft.CodeAnalysis.Text.SourceText.CheckSubSpan(TextSpan span)
at Microsoft.CodeAnalysis.Text.CompositeText.GetSubText(TextSpan span)
at Microsoft.CodeAnalysis.Text.SourceText.WithChanges(IEnumerable`1 changes)
at Microsoft.CodeAnalysis.Text.ChangedText.WithChanges(IEnumerable`1 changes)
at Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint.ApplyContentChanges(IEnumerable`1 contentChanges, SourceText sourceText) in /_/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/RazorDocumentSynchronizationEndpoint.cs:line 172
at Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint.Handle(DidChangeTextDocumentParams notification, CancellationToken token) in /_/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/RazorDocumentSynchronizationEndpoint.cs:line 89
at OmniSharp.Extensions.LanguageServer.Server.Pipelines.ResolveCommandPipeline`2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next)
at MediatR.Pipeline.RequestPostProcessorBehavior`2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next)
at MediatR.Pipeline.RequestPreProcessorBehavior`2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next)
at OmniSharp.Extensions.JsonRpc.RequestRouterBase`1.RouteNotification(TDescriptor descriptor, Notification notification, CancellationToken token)
[Info - 10:21:15] Finished: Routing Notification textDocument/didChange in 14ms
[Info - 10:21:15] Handler Selected: Microsoft.AspNetCore.Razor.LanguageServer.Completion.RazorCompletionEndpoint via [**/*.{cshtml,razor}] (targeting OmniSharp.Extensions.JsonRpc.IJsonRpcRequestHandler`2[[OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionParams, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022],[OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionList, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022]])
[Info - 10:21:15] Finding descriptor for razor/languageQuery
[Info - 10:21:15] Starting: Routing Request (32) textDocument/completion
[Info - 10:21:15] Converting params for Request (32) textDocument/completion to OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionParams
[Info - 10:21:15] Finding descriptor for _ms_/textDocument/semanticTokens
[Info - 10:21:15] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_DeliveryCosts.razor':
[Info - 10:21:16] Finding descriptor for textDocument/didChange
[Info - 10:21:16] Found attributes 1, razor::file:///c%3A/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Genre_Settings.razor
[Info - 10:21:16] Looking for handler for descriptors textDocument/didChange
[Info - 10:21:16] Checking handler textDocument/didChange:Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint
[Info - 10:21:16] Registration options OmniSharp.Extensions.LanguageServer.Protocol.Models.TextDocumentChangeRegistrationOptions
[Info - 10:21:16] Document Selector [**/*.{cshtml,razor}]
[Info - 10:21:16] Handler Selected: Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint via [**/*.{cshtml,razor}] (targeting OmniSharp.Extensions.JsonRpc.IJsonRpcNotificationHandler`1[[OmniSharp.Extensions.LanguageServer.Protocol.Models.DidChangeTextDocumentParams, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022]])
[Info - 10:21:16] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_EMailTemplates.razor':
[Info - 10:21:16] Found 0 directive completion items.
[Info - 10:21:16] Found 0 TagHelper completion items.
[Info - 10:21:16] Updating Resolve items with wrapped data for textDocument/completion:Microsoft.AspNetCore.Razor.LanguageServer.Completion.RazorCompletionEndpoint
[Info - 10:21:16] Result was System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionList, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022],[MediatR.Pipeline.RequestPreProcessorBehavior`2+<Handle>d__2[[OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionParams, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022],[OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionList, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022]], MediatR, Version=7.0.0.0, Culture=neutral, PublicKeyToken=bb9a41a5e8aaa7e2]]
[Info - 10:21:16] Response value was OmniSharp.Extensions.LanguageServer.Protocol.Models.CompletionList
[Info - 10:21:16] Finished: Routing Request (32) textDocument/completion in 234ms
[Info - 10:21:16] Starting: Routing Request (33) razor/languageQuery
[Info - 10:21:16] Converting params for Request (33) razor/languageQuery to Microsoft.AspNetCore.Razor.LanguageServer.RazorLanguageQueryParams
[Info - 10:21:16] Finding descriptor for textDocument/didChange
[Info - 10:21:16] Found attributes 1, razor::file:///c%3A/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_Genre_Settings.razor
[Info - 10:21:16] Looking for handler for descriptors textDocument/didChange
[Info - 10:21:16] Checking handler textDocument/didChange:Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint
[Info - 10:21:16] Registration options OmniSharp.Extensions.LanguageServer.Protocol.Models.TextDocumentChangeRegistrationOptions
[Info - 10:21:16] Document Selector [**/*.{cshtml,razor}]
[Info - 10:21:16] Handler Selected: Microsoft.AspNetCore.Razor.LanguageServer.RazorDocumentSynchronizationEndpoint via [**/*.{cshtml,razor}] (targeting OmniSharp.Extensions.JsonRpc.IJsonRpcNotificationHandler`1[[OmniSharp.Extensions.LanguageServer.Protocol.Models.DidChangeTextDocumentParams, OmniSharp.Extensions.LanguageProtocol, Version=0.14.0.0, Culture=neutral, PublicKeyToken=6d868dff454e6022]])
[Info - 10:21:16] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_EMailTemplatesDetails.razor':
[Info - 10:21:16] Publishing diagnostics for document 'c:/Users/Daniel/Documents/Entwicklung tredition/tredition5/treditionClient/Pages/AdminPages/Admin_EMailTriggers.razor':
[Info - 10:21:16] Language query request for (251, 13) = Razor at (251, 13)
[Info - 10:21:16] Result was System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[Microsoft.AspNetCore.Razor.LanguageServer.RazorLanguageQueryResponse, Microsoft.AspNetCore.Razor.LanguageServer, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[MediatR.Pipeline.RequestPreProcessorBehavior`2+<Handle>d__2[[Microsoft.AspNetCore.Razor.LanguageServer.RazorLanguageQueryParams, Microsoft.AspNetCore.Razor.LanguageServer, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Razor.LanguageServer.RazorLanguageQueryResponse, Microsoft.AspNetCore.Razor.LanguageServer, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]], MediatR, Version=7.0.0.0, Culture=neutral, PublicKeyToken=bb9a41a5e8aaa7e2]]
[Info - 10:21:16] Response value was Microsoft.AspNetCore.Razor.LanguageServer.RazorLanguageQueryResponse
[Info - 10:21:16] Finished: Routing Request (33) razor/languageQuery in 297ms
[Client - 10:21:16] Providing completions for document c:\Users\Daniel\Documents\Entwicklung tredition\tredition5\treditionClient\Pages\AdminPages\Admin_Genre_Settings.razor at location (251, 13)
Hi @tredition! We released a new version of the C# extension today (v1.25.4) that we think should hopefully fix the crashes you've been seeing. If this isn't the case, please file a new issue for visibility and we'll look into things. Thanks!
Bug
During editing a .razor file, razor often crashes with excpetions (see below). It happens often during code editing but more often while creating new blazor components or pages. After that, previous errors will not disappear in the razor file. Syntax completion etc. are not working anymore.
To Reproduce
In a Blazor WASM project, create a new razor file. Edit some code, paste other code that might not be correct. Sooner or later, razor will crash.
Exceptions (if any)
.NET Core SDK (gemäß "global.json"): Version: 3.1.300 Commit: b2475c1295
Laufzeitumgebung: OS Name: Windows OS Version: 10.0.18362 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\3.1.300\
Host (useful for support): Version: 3.1.4 Commit: 0c2e69caa6
.NET Core SDKs installed: 3.0.100 [C:\Program Files\dotnet\sdk] 3.1.102 [C:\Program Files\dotnet\sdk] 3.1.202 [C:\Program Files\dotnet\sdk] 3.1.300 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed: Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]