2012-06-29 7 views
6

MVVMLightを使用していて、V4の使用が開始されてから使い始めました。<Interface>は、MVVMLightV4を使用したブレンドで既にエラーに登録されています

しかし、私が解決できなかった1つの問題は、常に私と共に残っています。

MVVM 4プロジェクトテンプレートを使用してプロジェクトを作成すると、ソリューションはうまく構築され、うまく動作し、ブレンドで正常に動作します。

しかし

私は自分のプロジェクトを開始して、すぐに私も基本的にDataServiceを追加し、ViewModelLocatorテンプレートにコメントアウトコードを有効にして、Blendでプロジェクトを開くと、MVVMLight V4はNugetを使用してインストールする場合は、私だけエラーが表示されます。

ちょうどこの非常に迷惑なエラーの底に取得しようと

を「クラスがすでに登録されています」。

だけでも、1つだけ空の関数とのインタフェースとサービスと同じエラーに

答えて

22

ブレンドを与えるように、いくつかの理由のために、より多くViewModelLocatorを初期化することのDataServiceにあるもの、それを問題ではありません明確にします一度。

だからあなたがチェック追加する必要があります。

if (!SimpleIoc.Default.IsRegistered<ISomeService>()) 
    SimpleIoc.Default.Register<ISomeService, SomeService>(); 
+0

まったく同じコードがMVVMLightのための新しいプロジェクトテンプレート間で異なる動作をしてNugetを通じてMVVMLightを追加する理由、それは説明していない以外罰金だろう。しかし今の周りの仕事のおかげで – Darkside

+0

Thx trydis!回避策が動作します! Win8を使って同じ問題で狂っていた –

+0

@IvanFioravanti私の喜び。私は何が起こっていたかを知る前に、私の頭を何度も傷つけていました:) – trydis

関連する問題