0

私のアプリケーションは、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 コードは次のとおりです。 ctor:

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 から起動するとアプリケーションが機能する理由がよくわかりませんが、手動で起動するとクラッシュします:/

4

0 に答える 0