Bug Report T258884
Visible to All Users

CodeRush for Roslyn crashes on opening a solution

created 10 years ago

Unhandled exception:
System.ArgumentException
An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Reflection.Metadata.Ecma335.NamespaceCache.PopulateNamespaceTable()
   at System.Reflection.Metadata.Ecma335.NamespaceCache.GetNamespaceData(NamespaceDefinitionHandle handle)
   at System.Reflection.Metadata.MetadataReader.GetNamespaceDefinition(NamespaceDefinitionHandle handle)
   at DevExpress.CodeRush.ContinuousTesting.Core.MethodInfoSearcher.GetMethodInfo(AssemblyItem assemblyItem, MethodDefinitionHandle handle, Pdb pdb)
   at DevExpress.CodeRush.ContinuousTesting.Core.MethodInfoSearcher.DiscoverMethods(String path, CancellationToken token)
   at DevExpress.CodeRush.ContinuousTesting.Core.ContinuousTestingService.DiscoverMethodsInProject(String name, String path, Boolean force)
   at DevExpress.CodeRush.ContinuousTesting.Core.ContinuousTestingService.<>c__DisplayClass41_0.<DiscoverMethods>b__0()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- 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.CodeRush.ContinuousTesting.Core.ContinuousTestingService.<DiscoverMethods>d__41.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.CodeRush.VSContinuousTesting.WorkspaceMonitor.<ehWorkspaceChanged>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c__DisplayClass2.<ThrowAsync>b__3(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

Comments (1)
DevExpress Support Team 10 years ago

    Hi Dominik,

    Thank you for your report and interest in our product. We already received reports about the same issue, and our developers introduced some changes to prevent this crash.
    Would you please download and install the following build?
    http://downloads.devexpress.com/Share/IDE/150610/DevExpress.CodeRush.Roslyn-1.0.3.0.zip

    To reinstall a new build of CodeRush for Rolsyn, follow these steps:

    1. Close all Visual Studio instances.
    2. Completely remove the CodeRush for Roslyn extension folder. It should be something like "C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\14.0\Extensions\1djw15vb.h30" on your machine.
    3. Download the zip file, which contains the CodeRush vsix extension container.
    4. Extract the vsix container from this zip archive.
    5. Install the CodeRush extension from the vsix container. Double-click the .vsix file. Setup should start automatically.
    6. Start Visual Studio 2015 to ensure that CodeRush for Roslyn was successfully installed.

    Let us know how it works on your side.

    Answers approved by DevExpress Support

    created 10 years ago

    We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

    Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

      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.