昨日、奇妙な問題に遭遇しました。昨日、ninject を di コンテナーとして使用して、その場しのぎのビューモデル ロケーター スタイル システムを構築しました。次に、データ リポジトリ インターフェイスの moq モック実装を解決して、コンストラクター インジェクションを介してビューモデルにフィードしようとしました。しかし、設計時にmoqから次の例外が発生し続けます。
Error 2 Unable to cast object of type 'Castle.Proxies.IADEmployeeRepoProxy_1' to type 'MVVMSupport.TestHarness.Data.IADEmployeeRepo'. D:\Users\kicksagnome\Desktop\MVVMSupport\MVVMSupport.TestHarness\App.xaml 16 13 MVVMSupport.TestHarness
Mock<IADEmployeeRepo> repo = new Mock<IADEmployeeRepo>();
repo.Setup<List<ADEmployee>>(r => r.GetAllEmployees())
.Returns(new List<ADEmployee>() { new ADEmployee() { FirstName = "Ryan Butcher" } });
Bind<IADEmployeeRepo>().ToConstant(repo.Object); //Also tried Bind<IADEmployee>().ToMethod(context => repo.Object);
デザイナーの最初のロードでは問題なく実行されますが、デザイン データが変更されるたびに失敗し、ソリューションを再構築します。
これはmoqの使用方法ではないことを認識しているため、質問は...
1.)この問題を修正する方法はありますか?
2) 設計時のデータはどのように追加すればよいですか?