问题描述
加载界面时候出现如下的异常,是通过系统日志查看到的,请问如何解决,是权限不够读取失败还是怎么了?我使用了OxyPlot绘图,加载这个绘图工具是不是要什么环境?在自己的win7系统的电脑运行没问题,但是在有的电脑上运行不起来,有的可以Application:TanksDataBase.exeFrameworkVersion:v4.0.30319Description:Theprocesswasterminatedduetoanunhandledexception.ExceptionInfo:System.IO.FileLoadExceptionStack:atOxyPlot.PlotModel.OxyPlot.IPlotModel.Update(Boolean)atOxyPlot.Wpf.PlotView.UpdateModel(Boolean)atOxyPlot.Wpf.PlotView.InvalidatePlot(Boolean)atOxyPlot.Wpf.PlotView.PlotLoaded(System.Object,System.Windows.RoutedEventArgs)atSystem.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object,System.Windows.RoutedEventArgs)atSystem.Windows.EventRoute.InvokeHandlersImpl(System.Object,System.Windows.RoutedEventArgs,Boolean)atSystem.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject,System.Windows.RoutedEventArgs)atSystem.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)atSystem.Windows.BroadcastEventHelper.BroadcastEvent(System.Windows.DependencyObject,System.Windows.RoutedEvent)atSystem.Windows.BroadcastEventHelper.BroadcastLoadedEvent(System.Object)atMS.Internal.LoadedOrUnloadedOperation.DoWork()atSystem.Windows.Media.MediaContext.FireLoadedPendingCallbacks()atSystem.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()atSystem.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)atSystem.Windows.Media.MediaContext.RenderMessageHandler(System.Object)atSystem.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Object,Int32)atMS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,System.Delegate,System.Object,Int32,System.Delegate)atSystem.Windows.Threading.DispatcherOperation.InvokeImpl()atSystem.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)atSystem.Threading.ExecutionContext.runTryCode(System.Object)atSystem.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode,CleanupCode,System.Object)atSystem.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)atSystem.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object,Boolean)atSystem.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)atSystem.Windows.Threading.DispatcherOperation.Invoke()atSystem.Windows.Threading.Dispatcher.ProcessQueue()atSystem.Windows.Threading.Dispatcher.WndProcHook(IntPtr,Int32,IntPtr,IntPtr,BooleanByRef)atMS.Win32.HwndWrapper.WndProc(IntPtr,Int32,IntPtr,IntPtr,BooleanByRef)atMS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)atSystem.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Object,Int32)atMS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,System.Delegate,System.Object,Int32,System.Delegate)atSystem.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority,System.TimeSpan,System.Delegate,System.Object,Int32)atMS.Win32.HwndSubclass.SubclassWndProc(IntPtr,Int32,IntPtr,IntPtr)atMS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSGByRef)atSystem.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)atSystem.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)atSystem.Windows.Threading.Dispatcher.Run()atSystem.Windows.Application.RunDispatcher(System.Object)atSystem.Windows.Application.RunInternal(System.Windows.Window)atSystem.Windows.Application.Run(System.Windows.Window)atTanksDataBase.App.Main()请问大神这怎么办??
解决方案
解决方案二:
在自己的win7系统的电脑运行没问题,但是在有的电脑上运行不起来,有的可以。-》自己还是想弄清楚WPF运行环境的所需的所有模块都有那几个。这个肯定是电脑运行环境所致的。
解决方案三:
是你选择的第三方组件自身的bug。具体原因很难说,这还是要找它的社区、技术服务人员、文档。通常你可以从“引用”组下去看看你在开发时应用的、与它相关的dll,如果其地址是在windows系统目录下的,那么就要看看是否需要设置“复制到本地”属性(看看说明书上是否有这个说明)。另外看看TanksDataBase.exe所在目录下是否需要有此组件需要的一堆dll文件(这也要看其说明书),或者它(甚至)是否需要作为一个COM组件而需要在目标机器上单独安装?(如果需要单独安装,那么我建议你弃掉不用)
解决方案四:
另外,你也应该认真分析一下出现bug时的用户操作过程,看看其安装和初始化过程有什么特点,看看能不能在自己的win7机器上也模拟出类似bug。
解决方案五:
没遇到过,猜测:1.用管理员权限试试2.系统位数(32/64)某些目录发生变化,特别是programfiles等文件夹
解决方案六:
Theprocesswasterminatedduetoanunhandledexception翻译成中文就是程序遇到一个未经处理的异常,已退出自己加个try,catch最好是在读取文件之前先用File.Exis判断一下文件是否存在