web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :

[Quick Tip] Plugin Registration Tool Error – Object reference not set to an instance of an object

Nadeeja Bomiriya Profile Picture Nadeeja Bomiriya 6,804

Object reference not set to an instance of an object

Problem:

You are minding your own business and using your Plugin Registration Tool happily.  All of a sudden, you are getting below error when trying to connect to Dynamics 365 (CRM) instance.

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Xrm.Tooling.CrmConnectControl.CrmConnectionManager.SetConfigKeyInformation(Dictionary`2 configKeys)
   at Microsoft.Xrm.Tooling.CrmConnectControl.CrmServerLoginControl.StartConnectCheck()
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(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)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Window.ShowHelper(Object booleanBox)
   at System.Windows.Window.ShowDialog()
   at Microsoft.Crm.Tools.PluginRegistration.MainViewModel.CreateConnections()

Solution:

Delete the contents of the below folder.

C:\Users\<username>\AppData\Roaming\Microsoft\PluginRegistration

This folder includes a file called Default_PluginRegistration.exe.config.  The contents of the file looks something like below.  This includes information of previously connected CRM instances and usernames.  It is possible some settings may have changed due to system updates.  Once you delete the file, Plugin Registration Tool will recreate it with the correct information.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="CrmDeploymentType" value="O365" />
        <add key="CrmUseSSL" value="False" />
        <add key="CrmOrg" value="org4c5555a7" />
        <add key="CrmPort" value="80" />
        <add key="CrmServerName" value="103.99.99.99" />
        <add key="UseDefaultCreds" value="False" />
        <add key="CacheCredentials" value="True" />
        <add key="CrmOnlineRegion" value="Oceania" />
        <add key="AuthHomeRealm" value="Active Directory" />
        <add key="AskForOrg" />
        <add key="CrmDomain" value="DYN365APPS" />
        <add key="AdvancedCheck" value="True" />
        <add key="Authority" value="https://login.windows.net/cdf55f0f-ccbb-4bf5-a756-9107927d3c4a/oauth2/authorize/" />
        <add key="UserId" value="username@orgname.onmicrosoft.com" />
    </appSettings>
</configuration>

Here’s proof

https://community.dynamics.com/crm/f/117/p/222787/599910#599910

Thank you for visiting Dyn365Apps.com.

Follow me on Twitter to get the latest news, tips and tricks and more …

Until next time…

Comments

*This post is locked for comments