I’m working on converting a VB.net desktop application from 32-bit to 64-bit.
The application consists of 3 layers which are
- VB.NET Standalone Application
- Broker Service
- WCF Service
The VB.NET 'Standalone Application' calls the Broker Service. 'Broker Service' then calls the ‘WCFService’ in order to connect to the database. All 3 projects are converted into 64 bits and published on the Web server.
After the conversion, it throws the below error in runtime.
The project ran without any issues when it was in the 32-bit mode.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast object of type 'NavigatorMD.Core.Broker.CurrentUserSerializable' to type 'NavigatorMD.BusinessLogic.CurrentUserSerializable'.
Source Code
Public Shared Function GetUserInfo(ByVal productId As String) As CurrentUserSerializable
Dim args(6) As Object
SetupArgs(args)
args(0) = "getuserinfo"
args(4) = args(3)
args(5) = productId
Dim retVal As Object = BrokerService.ProcessRequest(args, False)
Return CType(retVal, CurrentUserSerializable)
Public Function ProcessRequest(ByRef args() As Object, ByVal noConnectionStringNeeded As Boolean) As Object
Dim inValue As Broker.ProcessRequestRequest = New Broker.ProcessRequestRequest()
inValue.args = args
inValue.noConnectionStringNeeded = noConnectionStringNeeded
Dim retVal As Broker.ProcessRequestResponse = CType(Me,Broker.IBroker).ProcessRequest(inValue)
args = retVal.args
Return retVal.ProcessRequestResult
End Function
I suspect the error is because the function ‘GetUserInfo()’ doesn’t return the value.
Please find the full error message below.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast object of type 'Project.Core.Broker.CurrentUserSerializable' to type 'Project.BusinessLogic.CurrentUserSerializable'. at Project.Core.ServiceProxy.GetUserInfo(String productId) in D:\GitHub Source codes\Prj_D180 - Devexpress 18 - Copy\Core\Data Objects\ServiceProxy.vb:line 934 at Project.Core.CurrentUser.GetUserInfo(ApplicationMap& _applicationMap) in D:\GitHub Source codes\Prj_D180 - Devexpress 18 - Copy\Core\Data Objects\CurrentUser.vb:line 471 at Project.Core.CurrentUser.AuthenticateUser(String LicenseKey, ApplicationMap& _applicationMap) in D:\GitHub Source codes\Prj_D180 - Devexpress 18 - Copy\Core\Data Objects\CurrentUser.vb:line 261 at Project.MainForm.IsUserAuthenticated() in D:\GitHub Source codes\Prj_D180 - Devexpress 18 - Copy\Project\MainForm.vb:line 347 at Project.MainForm..ctor() in D:\GitHub Source codes\Prj_D180 - Devexpress 18 - Copy\Project\MainForm.vb:line 182 --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Practices.ObjectBuilder.CreationStrategy.InitializeObject(IBuilderContext context, Object existing, String id, ICreationPolicy policy) at Microsoft.Practices.ObjectBuilder.CreationStrategy.BuildUpNewObject(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.CreationStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.ReflectionStrategy
1.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.ReflectionStrategy1.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.ReflectionStrategy1.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.SingletonStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.TypeMappingStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id) at Microsoft.Practices.ObjectBuilder.BuilderBase1.DoBuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies) at Microsoft.Practices.ObjectBuilder.BuilderBase1.BuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies) at Microsoft.Practices.CompositeUI.Collections.ManagedObjectCollection1.BuildFirstTimeItem(Type typeToBuild, String idToBuild, Object item) at Microsoft.Practices.CompositeUI.Collections.ManagedObjectCollection1.Build(Type typeToBuild, String idToBuild, Object item) at Microsoft.Practices.CompositeUI.Collections.ManagedObjectCollection1.AddNewTTypeToBuild at Microsoft.Practices.CompositeUI.CabShellApplication2.OnRootWorkItemInitialized() at Microsoft.Practices.CompositeUI.BuilderStrategies.RootWorkItemInitializationStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.CompositeUI.BuilderStrategies.CommandStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id) at Microsoft.Practices.CompositeUI.BuilderStrategies.EventBrokerStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id) at Microsoft.Practices.ObjectBuilder.MethodExecutionStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.PropertySetterStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.CreationStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.ReflectionStrategy1.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.ReflectionStrategy1.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.ReflectionStrategy1.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.SingletonStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.TypeMappingStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id) at Microsoft.Practices.ObjectBuilder.BuilderBase1.DoBuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies) at Microsoft.Practices.ObjectBuilder.BuilderBase1.BuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies) at Microsoft.Practices.CompositeUI.WorkItem.BuildUp() at Microsoft.Practices.CompositeUI.CabApplication`1.Run() at Project.MainProg.Main() in D:\GitHub Source codes\Prj_D180 - Devexpress 18 - Copy\Project\MainProgram.vb:line 14