关于manuel执行的TargetInvocationException,调试器运行正常

时间:2015-11-06 12:46:29

标签: wpf mvvm mvvm-light targetinvocationexception

我的应用程序在VS 2013调试器中运行良好。手动启动应用程序(debug.exe)时,我得到以下异常:

06.11.2015 13:31:08 WiiLogger\: System.Reflection.TargetInvocationException: Property accessor 'MainViewModel' on object 'MyTool.ViewModels.ViewModelLocator' threw the following exception:'Exception has been thrown by the target of an invocation.'

这是MVVM Light Locator代码: 构造函数:

public ViewModelLocator()
{
    ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

    SimpleIoc.Default.Register<MyRepository>();
    SimpleIoc.Default.Register<TrayContextMenuViewModel>();
    SimpleIoc.Default.Register<EmployeeListViewModel>();
    SimpleIoc.Default.Register<SettingsViewModel>();
    SimpleIoc.Default.Register<MainViewModel>();
}

属性

public MainViewModel MainViewModel
{
    get
    {
        return ServiceLocator.Current.GetInstance<MainViewModel>();
    }
}

我在MainWindow.xaml中创建了这样的实例:

<DockPanel x:Name="MainPanel"  DataContext="{Binding MainViewModel, Source={StaticResource Locator}}">

这是我的MainViewModel的CTOR:

public MainViewModel(EmployeeListViewModel emplyeeVM, TrayContextMenuViewModel trayVM, SettingsViewModel settingsVM, WiiRepository repository)

我真的不明白为什么应用程序在通过Visual Studio 2013启动时可以正常运行,但是当我手动启动它时它会崩溃:/

0 个答案:

没有答案