我创建了一个简单的应用程序来从SQL数据库获取数据。在调试模式下,一切正常。在部署之后或在发布模式期间,SQLConnection对象将出现TypeInitializationException。在启动SQLConnection之前,我使用ImpersonatedUser技术更改了用户。 整个应用程序基于我创建的另一个应用程序,在该应用程序中,我用相同的用户访问了相同的数据库,但是在这种情况下,一切正常。所以我不知道为什么会出现这种异常。
也许有人可以帮助我解决这个问题。 预先感谢!
这是例外情况:
System.TypeInitializationException
HResult=0x80131534
Nachricht = Der Typeninitialisierer für "System.Data.SqlClient.SqlConnection" hat eine Ausnahme verursacht.
Quelle = System.Data
Stapelüberwachung:
bei System.Data.SqlClient.SqlConnection..ctor()
bei ALMProjectUser.SQLManager.LoadUsersByUserNameFromServer(String url, String db, String user) in C:\Users\as011989\source\repos\ALMProjectUser\ALMProjectUser\SQLManager.cs: Zeile196
bei ALMProjectUser.SQLManager.GetUser(String searcheduser) in C:\Users\as011989\source\repos\ALMProjectUser\ALMProjectUser\SQLManager.cs: Zeile48
bei ALMProjectUser.MainWindow.ReCalcView() in C:\Users\as011989\source\repos\ALMProjectUser\ALMProjectUser\MainWindow.xaml.cs: Zeile62
bei ALMProjectUser.MainWindow.TxtBoxSearch_KeyDown(Object sender, KeyEventArgs e) in C:\Users\as011989\source\repos\ALMProjectUser\ALMProjectUser\MainWindow.xaml.cs: Zeile51
bei System.Windows.Input.KeyEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bei System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
bei System.Windows.Input.InputManager.ProcessStagingArea()
bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
bei System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawKeyboardActions actions, Int32 scanCode, Boolean isExtendedKey, Boolean isSystemKey, Int32 virtualKey)
bei System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(MSG& msg, Boolean& handled)
bei System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(MSG& msg, ModifierKeys modifiers)
bei System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
bei System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(MSG& msg, Boolean& handled)
bei System.Windows.Interop.HwndSource.WeakEventPreprocessMessage.OnPreprocessMessage(MSG& msg, Boolean& handled)
bei System.Windows.Interop.ThreadMessageEventHandler.Invoke(MSG& msg, Boolean& handled)
bei System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei System.Windows.Application.Run(Window window)
bei ALMProjectUser.App.Main()
Innere Ausnahme 1:
COMException: Schwerwiegender Fehler (Ausnahme von HRESULT: 0x8000FFFF (E_UNEXPECTED))
这是代码的屏幕截图: