Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带ArgumentOutofRange例外和系统的神秘主义者_C#_.net - Fatal编程技术网

C# 带ArgumentOutofRange例外和系统的神秘主义者

C# 带ArgumentOutofRange例外和系统的神秘主义者,c#,.net,C#,.net,我(从我的角度)面临着一种非常奇怪的情况。在生产机器上,我的应用程序由于未处理的异常而崩溃。以下是“应用程序”日志中有关异常的记录: System.ArgumentOutOfRangeException 堆栈:在 LayerMake.UI.ApplicationBootstrapper`2[[System.\u Canon,mscorlib, 版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089],[System.\u佳能,mscorlib, 版本

我(从我的角度)面临着一种非常奇怪的情况。在生产机器上,我的应用程序由于未处理的异常而崩溃。以下是“应用程序”日志中有关异常的记录:

System.ArgumentOutOfRangeException
堆栈:在 LayerMake.UI.ApplicationBootstrapper`2[[System.\u Canon,mscorlib, 版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089],[System.\u佳能,mscorlib, 版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089]]。运行() 在 OCDERP.Client.Shell.Bootstrapper.Main()

我以前从未见过这种类型(
System.\uu Canon
,在我的代码中,类型定义是
ApplicationBootstrapper
),因此,我尝试搜索一些信息,但没有太多解释,它是什么

那么,当您有堆栈跟踪时,调试异常就容易多了,不是吗?
但是这里有
Run
方法,其中堆栈跟踪结束(这是一个具有类似Prism的MVVM框架的WPF应用程序):

public void Run()
{
Debug(Resources.AB_layercakhello);
logger.Debug(Resources.AB_启动);
尝试
{
logger.Debug(Resources.AB_CreatingApplicationCatalog);
使用(var catalog=CreateApplicationCatalog())
{
logger.Debug(Resources.AB_CreatingApplicationViewModel);
var viewModel=CreateApplicationViewModel(目录);
logger.Debug(Resources.AB_LoadingMainWindowsSettings);
var服务=视图模型
.零件容器
.GetExportedValue();
var settings=service.loadMainWindowsSettings();
配置Windows设置(设置);
logger.Debug(Resources.AB_CreatingApplication);
var application=新应用程序();
初始化应用程序资源(应用程序);
logger.Debug(Resources.AB_ShowingMainWindow);
视图模型
.零件容器
.GetExportedValue()
.显示主窗口(视图模型、设置);
logger.Debug(Resources.AB_正在运行);
application.Run();//启动应用程序消息循环
logger.Debug(Resources.AB_savingWindowsSettings);
service.saveMainWindowsSettings(设置);
}
}
捕获(例外e)
{
错误(e);
投掷;
}
logger.Debug(Resources.AB_Stopping);
}
我不知道,在这个方法中,
ArgumentOutOfRange
可以在哪里被提出。 它可以在嵌套方法中的某个地方提出,但应该反映在堆栈跟踪中

我错过了什么

顺便说一句,不幸的是,我现在无法重现这个错误

    public void Run()
    {
        logger.Debug(Resources.AB_LayerCakeHello);
        logger.Debug(Resources.AB_Starting);
        try
        {
            logger.Debug(Resources.AB_CreatingApplicationCatalog);

            using (var catalog = CreateApplicationCatalog())
            {
                logger.Debug(Resources.AB_CreatingApplicationViewModel);
                var viewModel = CreateApplicationViewModel(catalog);

                logger.Debug(Resources.AB_LoadingMainWindowsSettings);

                var service = viewModel
                    .PartsContainer
                    .GetExportedValue<IApplicationDataService<T>>();

                var settings = service.LoadMainWindowSettings();

                ConfigureWindowSettings(settings);

                logger.Debug(Resources.AB_CreatingApplication);

                var application = new Application();

                InitializeApplicationResources(application);

                logger.Debug(Resources.AB_ShowingMainWindow);
                viewModel
                    .PartsContainer
                    .GetExportedValue<IPresentationService>()
                    .ShowInMainWindow(viewModel, settings);

                logger.Debug(Resources.AB_Running);
                application.Run(); // starting application message loop

                logger.Debug(Resources.AB_SavingWindowSettings);
                service.SaveMainWindowSettings(settings);
            }
        }
        catch (Exception e)
        {
            logger.Error(e);
            throw;
        }
        logger.Debug(Resources.AB_Stopping);
    }