我将View variables模块安装到我的XAF winforms 21.2.7项目中,它' '在我的机器上工作' ';
当我部署和运行时,我得到一个错误,以下调用堆栈记录在eXpressAppFramework.Log
Type: InvalidCastException
Message: Unable to cast object of type 'ModelDetailView' to type 'DevExpress.ExpressApp.ViewVariantsModule.IModelViewVariants'.
Data: 0 entries
Stack trace:
at DevExpress.ExpressApp.ViewVariantsModule.ModelVariantsProvider.GetVariants(String rootVariantViewId)
at
DevExpress.ExpressApp.ViewVariantsModule.ReplaceViewIdHelper.factoryEvents_ViewCreating(Object sender, ViewCreatingEventArgs e)
at DevExpress.ExpressApp.ViewVariantsModule.XafApplicationViewsFactory.application_ViewCreating(Object sender, ViewCreatingEventArgs e)
at DevExpress.ExpressApp.XafApplication.OnViewCreating(ViewCreatingEventArgs args)
at DevExpress.ExpressApp.XafApplication.PrepareDetailViewCreatingEventArgs(IObjectSpace objectSpace, String detailViewID, Boolean isRoot, Object obj, Boolean isDelayedObjectLoading)
at DevExpress.ExpressApp.XafApplication.CreateDetailViewCore(IObjectSpace objectSpace, String detailViewID, Boolean isRoot, Object obj, Type objectType, Object objectKey, Boolean isDelayedObjectLoading, IEnumerable objectsToPrefetch)
at DevExpress.ExpressApp.XafApplication.CreateDetailView(IObjectSpace objectSpace, String detailViewID, Boolean isRoot, Object obj, Boolean isDelayedObjectLoading, IEnumerable objectsToPrefetch)
at DevExpress.ExpressApp.XafApplication.CreateDetailView(IObjectSpace objectSpace, String detailViewID, Boolean isRoot, Object obj)
at DevExpress.ExpressApp.XafApplication.CreateDetailView(IObjectSpace objectSpace, Object obj, View sourceView)
at DevExpress.ExpressApp.XafApplication.showLogonAction_OnCustomizePopupWindowParams(Object sender, CustomizePopupWindowParamsEventArgs args)
at DevExpress.ExpressApp.Actions.PopupWindowShowAction.GetPopupWindowParams()
at DevExpress.ExpressApp.Win.PopupWindowShowActionHelper.CreatePopupWindow(Boolean createAllControllers)
at DevExpress.ExpressApp.Win.WinApplication.DoLogon()
at DevExpress.ExpressApp.Win.WinApplication.Start()
InnerException is null
我可以通过打开应用程序的预览副本并登录来解决这个问题。
之后,我可以成功地使用应用程序。
或者我可以从用户漫游应用程序文件夹中删除文件ModulesVersionInfo以使应用程序成功打开
从应用程序文件夹中删除modelassembly.dll也可以解决这个问题。
从部署中删除ModelAssembly.Dll解决了这个问题。当应用程序打开时,dll将被正确创建。