首页 > 解决方案 > 无法登录到 PluginRegistrationTool - “插件注册工具停止工作”

问题描述

我有 2 个使用 Dynamics 365 online 的不同帐户,几个小时前我能够使用 1 个帐户登录。但是突然当我尝试使用另一个帐户登录时,它会抛出如下错误:

插件注册工具停止工作!

当我点击DEBUG按钮并在 Visual Studio 中打开它时,它会给出如下错误:

单击调试按钮后出现错误

System.Reflection.TargetInvocationException HResult=0x80131604
Message=异常已被调用的目标抛出。
Source=mscorlib StackTrace:在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 在 System.Reflection.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System .Delegate.DynamicInvokeImpl(Object[] args) 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,委托 catchHandler) 在 System.Windows.Threading.DispatcherOperation.InvokeImpl() 在 MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) 在 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) 在 MS .Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext 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& 处理) 在 MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) 在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback , 对象 args, Int32 numArgs, Delegate catchHandler) 在 System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority 优先级, TimeSpan 超时, 委托方法, Object args, Int32 numArgs) 在 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg , IntPtr wParam, IntPtr lParam) 在 MS.Win32.UnsafeNativeMethods.MessageBox(HandleRef hWnd, String text, String caption, Int32 type) 在 System.Windows.MessageBox.ShowCore(IntPtr owner, String messageBoxText, String caption, MessageBoxButton button, MessageBoxImage图标,MessageBoxResult defaultResult,MessageBoxOptions 选项)在 System.Windows.MessageBox.Show(窗口所有者,字符串 messageBoxText,字符串标题,MessageBoxButton 按钮,MessageBoxImage 图标)在 Microsoft.Crm.Tools.PluginRegistration.CommonControls.ErrorMessageViewModel.ShowErrorMessageBox(窗口所有者,字符串消息, 字符串标题, 字符串 exceptionMessage, UserControl usercontrol, Exception ex) 在 Microsoft.Crm.Tools.PluginRegistration.CommonControls.ErrorMessageViewModel.ShowErrorMessageBox(Window owner, String message, String caption, Exception ex, UserControl usercontrol) 在 Microsoft.Crm.Tools。 PluginRegistration.MainViewModel.CreateConnections() 在 Microsoft.Crm.Tools.PluginRegistration.MainViewModel.b__1(Object s) 在 MS.Internal.Commands.CommandHelpers。CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated) at System.Windows.Controls.Primitives.ButtonBase.OnClick() at System.Windows.Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)在 System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) 在 System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) 在 System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) 在 System .Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) 在 System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e) 在 System.Windows.RoutedEventArgs。InvokeHandler(委托处理程序,对象目标)在 System.Windows.RoutedEventHandlerInfo.InvokeHandler(对象目标,RoutedEventArgs routedEventArgs)在 System.Windows.EventRoute.InvokeHandlersImpl(对象源,RoutedEventArgs 参数,布尔 reRaised)在 System.Windows.UIElement.RaiseEventImpl( System.Windows.Input.InputManager.ProcessStagingArea() 在 System.Windows.Input.InputManager.ProcessInput(InputEventArgs 输入) 的 System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) 的 DependencyObject 发送方,RoutedEventArgs args)UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) 在 System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) 在 System.Windows.Input.InputManager.ProcessStagingArea() 在 System.Windows.Input.InputManager.ProcessInput(InputEventArgs 输入)UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) 在 System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) 在 System.Windows.Input.InputManager.ProcessStagingArea() 在 System.Windows.Input.InputManager.ProcessInput(InputEventArgs 输入)
在 System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) 在 System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode 模式, Int32 时间戳, RawMouseActions 操作, Int32 x, Int32 y, Int32 轮) 在 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) 在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) 在 System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 在 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 在 MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) 在 System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame)框架)在 System.Windows.Application.RunDispatcher(对象忽略)MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 在 MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG & msg) 的 LegacyInvokeImpl(DispatcherPriority 优先级, TimeSpan 超时, 委托方法, 对象参数, Int32 numArgs)在 System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame 框架) 在 System.Windows.Application.RunDispatcher(对象忽略)MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 在 MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG & msg) 的 LegacyInvokeImpl(DispatcherPriority 优先级, TimeSpan 超时, 委托方法, 对象参数, Int32 numArgs)在 System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame 框架) 在 System.Windows.Application.RunDispatcher(对象忽略)
在 System.Windows.Application.RunInternal(Window 窗口) 在 Microsoft.Crm.Tools.PluginRegistration.App.Main()

内部异常1:AdalException:multiple_matching_tokens_detected:缓存包含多个满足要求的令牌。再次调用 AcquireToken 提供更多要求(例如 UserId)

根据我最初的经历,这里似乎存在一些令牌问题。因此,我什至尝试从缓存 VS2017 中删除我的帐户,并重新启动了我的机器。但这个问题仍然存在。

PS:当我尝试使用以前工作的第一个帐户登录时,它不再工作并抛出相同的错误。

帮助!

我已经检查了以下链接: 关于使用 xxxx@xxxx.onmicrosoft.com 凭据进行插件注册

标签: dynamics-crmdynamics-crm-onlinedynamics-365dynamics-crm-365

解决方案


Inner Exception更有意义,看起来像是为缓存中的那些用户配置文件生成和存储了多个令牌。

按照SO 线程中的答案,用户 UPN 被重新分配或发生了一些混乱。PRT 无法克服这一点。

如果您还没有尝试过,请从另一台机器上尝试。


推荐阅读