我对我使用的界面进行了更改。我在ViewModelLocator中实例化了该接口的一个对象。我有一个测试它的单元测试。单元测试之前完美无缺,现在还没有。这是界面的旧定义:
public interface IViewService
{
bool ShowMessage(string title, string message);
}
以下是我改变它的方式:
public interface IViewService
{
System.Windows.MessageBoxResult ShowMessage(string Title, string Message, DialogButtonsEnum ButtonsToShow);
}
(DialogButtonsEnum是我创建的枚举。)
这是我们的ViewModelLocator类中出现问题的行:
static public IViewService ViewService
{
get
{
return ServiceLocator.Current.GetInstance<IViewService>();
}
}
它阻止了GetInstance()调用,引发了这个错误:
的HResult = -2146233088 Message =在缓存中找不到类型:LRAT.CoreServices.IViewService。 源= GalaSoft.MvvmLight.Extras
那么,我做错了什么?我该如何解决这个问题?