在一个正在运行的程序中,我开始遇到以下异常: 尝试获取IRegionNavigationService类型的实例
时发生激活错误内在的例外是 InnerException {“当前类型,CommonServiceLocator.IServiceLocator,是一个接口,无法构造。是否缺少类型映射?”} System.Exception {System.InvalidOperationException}
由于这是Prism 6平台的一部分,我不知道从哪里开始解决这个问题。
当我从存储库更新项目并且解决方案文件已损坏时,问题就开始了。我让程序运行,但是当我选择导航到另一个视图的选项时,我得到了例外。
以下是获取异常的代码:
public class MainMenuViewModel : BindableBase, IRegionManagerAware
{
public IRegionManager RegionManager { get; set; }
public MainMenuViewModel()
{
CustomerProfileCommand = new DelegateCommand(ExecuteCustomerProfileCommand);
AdjustmentTypeCommand = new DelegateCommand(ExecuteAdjustmentTypeCommand);
StreetProfileCommand = new DelegateCommand(ExecuteStreetProfileCommand);
LocationMaintenanceCommand = new DelegateCommand(ExecuteLocationMaintenanceCommand);
}
private void ExecuteLocationMaintenanceCommand()
{
RegionManager.RequestNavigate(RegionNames.ContentRegion, NavigationNames.LocationMaintenance);
}
private void ExecuteStreetProfileCommand()
{
RegionManager.RequestNavigate(RegionNames.ContentRegion, NavigationNames.StreetMaintenance);
}
private void ExecuteAdjustmentTypeCommand()
{
RegionManager.RequestNavigate(RegionNames.ContentRegion, NavigationNames.AdjustmentTypeMaintenance);
}
private void ExecuteCustomerProfileCommand()
{
RegionManager.RequestNavigate(RegionNames.ContentRegion, NavigationNames.CustomerProfile);
}
public ICommand CustomerProfileCommand { get; set; }
public ICommand AdjustmentTypeCommand { get; set; }
public ICommand StreetProfileCommand { get; set; }
public ICommand LocationMaintenanceCommand { get; set; }
}
RegionManager由区域行为实例化,并且(使用debug to verify)实际上是实例化的。
赞赏我应该开始的任何方向。
答案 0 :(得分:0)
好的,我发现了问题。我已将CommonServiceLocator包升级到2.03。显然,Prism 6.30仅适用于1.3.0版本。在我做出这个改变之后,该计划奏效了。