Or another idea, don't do analysis such as unused member references until such time as the user has committed the changes to the document(s). This way it would reduce the impact it has on development whilst working on new classes and functions. This should probably go for any of the more intensive operations that CodeRush performs as part of it's functionality.
Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.
Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.
Currently we are working via the Roslyn diagnostics engine. It will start the analysis after changes are passed to a document. And I do not completely understand your idea. It would be great if you describe it in greater detail.
Okay, well under normal working conditions, you would not save a file until you've at least got a functional class. Therefore, there is no point in starting analysis for unused members say, until the changes to the document have been committed. So I suppose the question becomes at what point does Roslyn detect the changes, is it when the user is actively changing the document before saving, or does this happen upon save?
Thank you for the clarification. Now I understand your idea. As you can see, errors and warnings are shown in the code editor and Error List window as you type. As a result, the Roslyn diagnostics engine is working as you type. I must say that we cannot change this behavior in any way.
Andrew, that's unfortunate, as with the more intensive analyzers (such as unused members), these would be rather resource intensive (both CPU + Memory). How do you cope with lots of little changes to the same document. Do you cancel existing analysis sessions, or do they have to complete? Otherwise, as you'd appreciate lots of CPU and Memory Usage could occur and make Visual Studio unusable.
Based on your comment on it can't be changed, this has forced us in a position whereby we are using CodeRush for Roslyn on Demand (Invoked Manually). Whereas previously with CodeRush Classic, these functions worked with relatively small overhead on the resource front.
Therefore, we can't use these more advanced features in on-demand mode.
Of course, the Roslyn engine determines fast typing and the previous task will be aborted.
You can read more about this in the following articles:
How To Write a C# Analyzer and Code Fix
C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API
Okay, just with previous observations this was not clear within the log file. Whenever we had it in background mode, it appeared as if previous tasks were still executing. Maybe I'll switch it back to non on-demand mode and see how it behaves.
Also, in relation to your testing what size projects + solutions have you been testing this on?
As soon as I modified it to run in background analysis (first tick box in Static Code Analysis), the memory usage is eratic from 700MB to 1.1GB constantly jumping.
I am for analysis of unused things only on demand. But everything should be analyzed (including resources), not only members in current class. I don't like any automatic things, that noticeably lowers user interface responsibility.
Ondrej, I fully appreciate what you are saying. What I was trying to figure out is how DevExpress are expecting users with large solutions (50+ projects) to operate with CodeRush for Roslyn, particularly when it comes to the more heavier of the analyzers such as the unused member references.
Guys,

By default the option to include the CodeRush diagnostics into the Visual Studio background analysis is turned off. Except the analysis of unused members, it is turned on by default, but you can turn it off. That's why turned off CodeRush diagnostics cannot be the cause of high CPU and memory usage.
In this case if you want to run analysis on demand, you should open the Code Issues window, choose required settings, and click the Refresh button.
In this situation, the CPU and memory usage will increase, but this is the expected behavior: we require these resources to perform static code analysis.
As for searching for unused members everywhere: currently this diagnostic is optimized to search only for private members inside a single class. We tested this diagnostic with our solution to search everywhere and waited for the result for a very long time: a few hours against several minutes, which is not acceptable for us. The problem lies in finding references to public members, and currently we have no way to do it much faster.
Mark, if I correctly understand it, you have turned on options to include searching for unused members into the Visual Studio background analysis. If it is true, I suggest that you turn off this option: this way, no code analyzer will be started as you type.

Andrew, many thanks for this clarification, I suppose in many ways I was expecting more detail being provided in your documentation in regards to these different modes, and the recommendations for use when in a large solution environment such as ours. What I will do is bring the Static Code Analysis options back in line to how it was initially when installed and see what impact this has. If the diagnostics start becoming troublesome, I can always as you rightly pointed out untick the first tick within this options dialog.
I appreciate all the effort and time you guys have been making to look into the various questions and comments that I have been raising on various tickets, and also appreciate the complexities thereof.
Lets see how I function with the amended version (from another one of my tickets) and go from there.
Andrew, are you expecting the following error to appear within the CodeRush logs under normal execution?:
Error: Message: One or more errors occurred.
Error: Type: System.AggregateException
Error: Source: mscorlib
Error: StackTrace: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at DevExpress.CodeRush.Intellisense.WorkspaceState.GetSemanticModel(CancellationToken token)
at DevExpress.CodeRush.Intellisense.CompletionRepository.Init()
Error: InnerException:
Error: Message: A task was canceled.
Error: Type: System.Threading.Tasks.TaskCanceledException
Error: Source:
Error: StackTrace:
I know what this is in relation to, a cancelled async task, I just wanted to check if you'd expect these to appear in the log file.
Hi Mark! Thanks for your suggestion for the documentation. I have added the following note to the Background Analysis section:
Background Analysis is a resource-demanding feature. Use it with caution on large solutions.
The changes will become visible with the next update of the documentation.
Okay Vlad much appreciated for this further clarification. The more information you give users of CodeRush, the less likely you are to receive support tickets in relation to performance related issues. Just a thought
Mark,
Thank you for your reports. As for the exception, yes, it is normal that this exception was thrown, but it should not have been written to the log. We will correct this behavior in future builds as well.
Okay understood :)
Andrew, another one for you:
Error: Message: One or more errors occurred.
Error: Type: System.AggregateException
Error: Source: mscorlib
Error: StackTrace: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at DevExpress.CodeAnalysis.VisualBasic.Diagnostics.UnusedMemberAnalyzer.AnalyzeNode(SyntaxNodeAnalysisContext context)
Error: InnerException:
Error: Message: we should never reach here
Error: Type: System.InvalidOperationException
Error: Source: Microsoft.CodeAnalysis.Workspaces
Error: StackTrace: at Roslyn.Utilities.Contract.FailWithReturn[T](String message)
at Microsoft.CodeAnalysis.FindSymbols.Extensions.<GetIdentifierOrGlobalNamespaceTokensWithTextAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.Finders.AbstractReferenceFinder`1.<FindReferencesInDocumentUsingIdentifierAsync>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessDocumentAsync>d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessDocumentQueueAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<>c__DisplayClass32_0.<<ProcessProjectAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessProjectAsync>d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessProjectAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessProjectAsync>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessProjectsAsync>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<ProcessAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<FindReferencesAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.FindSymbols.SymbolFinder.<FindReferencesAsync>d__52.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DevExpress.CodeAnalysis.VisualBasic.Refactorings.RemoveUnusedParametersRefactoring.<HasReferences>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DevExpress.CodeAnalysis.VisualBasic.Refactorings.RemoveUnusedParametersRefactoring.<GetUnusedParameters>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DevExpress.CodeAnalysis.VisualBasic.Refactorings.RemoveUnusedParametersRefactoring.<GetUnusedParameters>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DevExpress.CodeAnalysis.VisualBasic.Refactorings.RemoveUnusedParametersRefactoring.<GetContextIfAvailable>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DevExpress.CodeAnalysis.VisualBasic.Refactorings.RemoveUnusedParametersRefactoring.<RefactoringIsAvailable>d__23.MoveNext()
Thank you for informing us. It looks like something is wrong in the Roslyn code. We have not thrown any exception with this text message. I have found some places in the Roslyn source code where this exception can be thrown. Is this exception reproducible for you?
Andrew, unfortunately this only happened the once, if I can manage to reproduce it I will, i'm not sure where in the process this occurred. To aid with diagnostics in future, would it not be worth adding date and time information to the log file?
This would help aid diagnosis and figuring out whereabouts in the steps that I was performing, these particular issues occurred.
Sure, it will be helpful. We will add the time stamp into our log files in future builds.
Thank you very much, it not only helps you but also the customer with regards to some of the questions you may have with what they are reporting.
You are right. Thank you, Mark, for your observations!
It looks as if, one of the things that upsets CodeRush is when editing during an Edit and Continue Session, don't know if this is of any use to you for further investigation.
Andrew, yes this is reproducible,. it appears to occur once you perform a rename based refactoring in our solution. Whether it be a class name, member or method name.
Mark, this is default behavior of Visual Studio. Thus, note that you apply refactoring on debugging at your own risk.
Also, the rename feature is the Visual Studio feature. We only show this item in the light bulb menu, for more comfortable work.
Another exception for you:
Error: Message: Specified argument was out of the range of valid values.
Parameter name: span
Error: Type: System.ArgumentOutOfRangeException
Error: Source: Microsoft.VisualStudio.Platform.VSEditor
Error: StackTrace: at Microsoft.VisualStudio.Text.Implementation.TrackingSpan…ctor(ITextVersion version, Span span, SpanTrackingMode trackingMode)
at Microsoft.VisualStudio.Text.Implementation.HighFidelityTrackingSpan…ctor(ITextVersion version, Span span, SpanTrackingMode spanTrackingMode, TrackingFidelityMode fidelity)
at Microsoft.VisualStudio.Text.Implementation.TextVersion.CreateTrackingSpan(Span span, SpanTrackingMode trackingMode, TrackingFidelityMode trackingFidelity)
at Microsoft.VisualStudio.Text.Implementation.BaseSnapshot.CreateTrackingSpan(Span span, SpanTrackingMode trackingMode, TrackingFidelityMode trackingFidelity)
at DevExpress.CodeRush.VisualStudio.TextEditor.CRTextBuffer.CreateTrackingSpan(TextSpan span, Boolean useNegativeStartTracking)
at DevExpress.CodeRush.VisualStudio.CodeCompletion.CRCompletionSet.get_ApplicableTo()
at DevExpress.CodeRush.Intellisense.UI.IntelliRushViewModel.GetCurrentText()
at DevExpress.CodeRush.Intellisense.UI.IntelliRushViewModel.UpdateCurrentText()
at DevExpress.CodeRush.Intellisense.UI.IntelliRushViewModel.Activate()
at DevExpress.CodeRush.VSIntelliRush.IntelliRushPresenterProvider.TryCreateIntellisensePresenter(IIntellisenseSession session)
Hi Mark,
Thank you for your report. I have created a separate ticket for it. Let's discuss it in this ticket: IntelliRush - An ArgumentOutOfRangeException in the log file
Also, could you confirm if your rename function within CodeRush both supports TFS and is expected to check out relevant files?
Reason for asking this, is I've had a couple of instances whereby I have used the rename function, it doesn't appear to have checked out all relevant or modified files, and has caused issues from subsequent check-ins and check-outs.
>>>>
Also, could you confirm if your rename function within CodeRush both supports TFS and is expected to check out relevant files?
<<<<
The "Rename" refactoring which is invoked when clicking the "Rename" option in the light-bulb menu is the built-in Visual Studio functionality, not a CodeRush feature. We just add the "Rename" item to the light-bulb menu to make it easy to invoke (it is invoked through the F2 shortcut by default). So, we cannot do much at the level of our product if this rename functionality works incorrectly under certain conditions. If you are experiencing issues with this feature, it is better to report them to Microsoft Connect or the Roslyn repository.
Right okay, so you are just linking to the built in Rename feature within VS 2015?
Yes, you're absolutely right.
Okay, having briefly looked on the GitHub page for Roslyn, as well as the user voice sections for Visual Studio 2015 + 2017 I can see several items pertaining to be related to Rename + TFS and similar behaviours discovered. At this stage, until I can get it to reproduce (during my working time) there isn't much I can do.
I appreciate you looking into this never the less, and clarifying who owns the rename function being used.
You are welcome. Feel free to ask us if you have any further questions.
Andrew, I've been experiencing VS stability issues (unrelated to CodeRush) and as a result I started Visual Studio with the Log Switch Enabled. As part of this, the following two lines appear within the log it's outputted:
181ERRORStill unable to load MEF component DLL: Could not load file or assembly 'MemProfilerVsService, Version=5.5.0.0, Culture=neutral, PublicKeyToken=2dc3dfad160eda83' or one of its dependencies. The system cannot find the file specified.
C:\USERS\MHOPPER\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\14.0\EXTENSIONS\ccfftnsl.qdk\DevExpress.CodeRush.VSTestRunner.dllMicrosoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost2017/10/25 11:38:39.600182ERRORStill unable to load MEF component DLL: Could not load file or assembly 'nunit.framework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb' or one of its dependencies. The system cannot find the file specified.
C:\USERS\MHOPPER\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\14.0\EXTENSIONS\ccfftnsl.qdk\DevExpress.CodeRush.VisualStudio.dllMicrosoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost2017/10/25 11:38:39.600
Is this something I should be worried about? Bearing in mind I'm running off a hotfixed build ( 17.1.9.17290)
Thank you for sharing this information with us.
References to the NUnit and MemProfilerVsService assemblies are used for internal tasks only and have erroneously been pushed into the release branch. We will definitely correct this in future builds.
Though it is unlikely that the availability of these assembly references affects the performance or stability of Visual Studio, let me thank you again for reporting this issue to us.
Not a problem
Another stack trace for your review:
System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Missing or unknown name prefix. at Microsoft.CodeAnalysis.SymbolId.Parser.ParseNamedSymbol(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseSymbolId(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseTypeSymbol() at Microsoft.CodeAnalysis.SymbolId.Parser.ParseParameter() at Microsoft.CodeAnalysis.SymbolId.Parser.ParseParameterList(List`1 parameters) at Microsoft.CodeAnalysis.SymbolId.Parser.GetMatchingMethods(IReadOnlyList`1 containers, String name, List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseNamedSymbol(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseSymbolId(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.Parse(String id, Compilation compilation, List`1 results) at Microsoft.CodeAnalysis.SymbolId.GetFirstSymbolForId(String id, Compilation compilation) at Microsoft.CodeAnalysis.Completion.Providers.SymbolCompletionItem.DecodeSymbols(List`1 ids, Compilation compilation, List`1 symbols) at Microsoft.CodeAnalysis.Completion.Providers.SymbolCompletionItem.<GetSymbolsAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Completion.Providers.AbstractSymbolCompletionProvider.<GetTextChangeAsync>d__26.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Completion.CommonCompletionProvider.<GetChangeAsync>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Completion.CompletionServiceWithProviders.<GetChangeAsync>d__31.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at Roslyn.Utilities.TaskExtensions.WaitAndGetResult[T](Task`1 task, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion.Controller.Commit(PresentationItem item, Model model, Nullable`1 commitChar, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion.Controller.Commit(PresentationItem item, Model model, Nullable`1 commitChar) at Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion.Controller.CommitOnTypeChar(Char ch) at Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion.Controller.Microsoft.CodeAnalysis.Editor.ICommandHandler<Microsoft.CodeAnalysis.Editor.Commands.TypeCharCommandArgs>.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.CommandHandlers.AbstractCompletionCommandHandler.ExecuteCommandWorker[TCommandArgs](TCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.CommandHandlers.AbstractCompletionCommandHandler.Microsoft.CodeAnalysis.Editor.ICommandHandler<Microsoft.CodeAnalysis.Editor.Commands.TypeCharCommandArgs>.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.<>c__DisplayClass6_1`1.<ExecuteHandlers>b__1() at Microsoft.CodeAnalysis.Editor.Implementation.DocumentationComments.AbstractDocumentationCommentCommandHandler`2.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.<>c__DisplayClass6_1`1.<ExecuteHandlers>b__1() at Microsoft.CodeAnalysis.Editor.Implementation.DocumentationComments.AbstractXmlTagCompletionCommandHandler.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.<>c__DisplayClass6_1`1.<ExecuteHandlers>b__1() at Microsoft.CodeAnalysis.Editor.Implementation.Formatting.FormatCommandHandler.ExecuteReturnOrTypeCommand(CommandArgs args, Action nextHandler, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Editor.Implementation.Formatting.FormatCommandHandler.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.<>c__DisplayClass6_1`1.<ExecuteHandlers>b__1() at Microsoft.CodeAnalysis.Editor.Implementation.InlineRename.RenameCommandHandler.HandlePossibleTypingCommand(CommandArgs args, Action nextHandler, Action`1 actionIfInsideActiveSpan) at Microsoft.CodeAnalysis.Editor.Implementation.InlineRename.RenameCommandHandler.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.<>c__DisplayClass6_1`1.<ExecuteHandlers>b__1() at Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.SignatureHelp.Controller.Microsoft.CodeAnalysis.Editor.ICommandHandler<Microsoft.CodeAnalysis.Editor.Commands.TypeCharCommandArgs>.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.CommandHandlers.SignatureHelpCommandHandler.ExecuteCommandWorker[TCommandArgs](TCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.CommandHandlers.SignatureHelpCommandHandler.Microsoft.CodeAnalysis.Editor.ICommandHandler<Microsoft.CodeAnalysis.Editor.Commands.TypeCharCommandArgs>.ExecuteCommand(TypeCharCommandArgs args, Action nextHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.ExecuteHandlers[T](IList`1 commandHandlers, T args, Action lastHandler) at Microsoft.CodeAnalysis.Editor.Implementation.Commands.CommandHandlerService.Microsoft.CodeAnalysis.Editor.ICommandHandlerService.Execute[T](IContentType contentType, T args, Action lastHandler) at Microsoft.VisualStudio.LanguageServices.Implementation.AbstractOleCommandTarget.ExecuteTypeCharacter(IntPtr pvaIn, ITextBuffer subjectBuffer, IContentType contentType, Action executeNextCommandTarget) at Microsoft.VisualStudio.LanguageServices.Implementation.AbstractOleCommandTarget.ExecuteVisualStudio2000(Guid& pguidCmdGroup, UInt32 commandId, UInt32 executeInformation, IntPtr pvaIn, IntPtr pvaOut, ITextBuffer subjectBuffer, IContentType contentType) at Microsoft.VisualStudio.LanguageServices.Implementation.AbstractOleCommandTarget.Exec(Guid& pguidCmdGroup, UInt32 commandId, UInt32 executeInformation, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.InnerExec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at DevExpress.CodeRush.VSCodeCompletion.NamingSuggestions.NamingSuggestionsCommandHandler.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.InnerExec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at DevExpress.CodeRush.VSIntelliRush.IntelliRushCommandHandler.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.InnerExec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at DevExpress.CodeRush.VisualStudio.CommandTargets.CommandTargetChain.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.InnerExec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.SimpleTextViewWindow.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) at Microsoft.VisualStudio.Editor.Implementation.VsKeyboardFilter.SendCommand(Guid cmdGroup, UInt32 cmdID, Object inParam) at Microsoft.VisualStudio.Editor.Implementation.VsKeyboardFilter.TextInput(TextCompositionEventArgs args) at Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.<>c.<DispatchTextInputEvents>b__6_0(KeyProcessor p, TextCompositionEventArgs args) at Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.<>c__DisplayClass10_1`1.<Dispatch>b__0() at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPoint(Object errorSource, Action call) ---> (Inner Exception #0) System.InvalidOperationException: Missing or unknown name prefix. at Microsoft.CodeAnalysis.SymbolId.Parser.ParseNamedSymbol(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseSymbolId(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseTypeSymbol() at Microsoft.CodeAnalysis.SymbolId.Parser.ParseParameter() at Microsoft.CodeAnalysis.SymbolId.Parser.ParseParameterList(List`1 parameters) at Microsoft.CodeAnalysis.SymbolId.Parser.GetMatchingMethods(IReadOnlyList`1 containers, String name, List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseNamedSymbol(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.ParseSymbolId(List`1 results) at Microsoft.CodeAnalysis.SymbolId.Parser.Parse(String id, Compilation compilation, List`1 results) at Microsoft.CodeAnalysis.SymbolId.GetFirstSymbolForId(String id, Compilation compilation) at Microsoft.CodeAnalysis.Completion.Providers.SymbolCompletionItem.DecodeSymbols(List`1 ids, Compilation compilation, List`1 symbols) at Microsoft.CodeAnalysis.Completion.Providers.SymbolCompletionItem.<GetSymbolsAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Completion.Providers.AbstractSymbolCompletionProvider.<GetTextChangeAsync>d__26.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Completion.CommonCompletionProvider.<GetChangeAsync>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Completion.CompletionServiceWithProviders.<GetChangeAsync>d__31.MoveNext()<---
Thank you for sharing this information with us. The cause of this exception is Microsoft.VisualStudio.LanguageServices.Implementation.AbstractOleCommandTarget.Exec. This is a loop event handler, and in this case, the event handler from CodeRush is already finished and the execution is already transfered to the next handler.
Okay, I wasn't sure which process was at fault, all I saw was CodeRush being mentioned, so thought it best to bring it to your attention