I was working this morning, and after testing one of my functions, I can no longer save any function library without getting this strange error shown at the bottom of the post.
The only two things I have done recently was install @josecgomez function testing screen and then try to test a function. Since libraries that I haven’t touched in months can no longer save, I’m assuming I buggered up something system wide but I don’t understand why or how.
Error
Application Error
Exception caught in: Anonymously Hosted DynamicMethods Assembly
Error Detail
Message: Unable to cast object of type ‘Ice.Tablesets.EfxFunctionTable’ to type ‘Ice.IceTable`1[Ice.Tablesets.ExecutionParameterRow]’.
Program: RefEmit_InMemoryManifestModule
Method: lambda_method
Client Stack Trace
at lambda_method(Closure , DataTable , IIceTable , Boolean )
at Ice.DatasetAdapter.Copy(DataSet sourceDataset, IceTableset destinationTableset, Boolean onlyChanges)
at Ice.Cloud.RpcSerializer.SerializeDataSetToTableset(Object value, Object serializationValue, Boolean useSparseCopy, Boolean onlyChanges, Stream stream)
at Ice.Cloud.RestRpcValueSerializer.Serialize(ProxyValueInInfo valueIn, ProxyValuesOut valuesOut, Stream stream)
at Ice.Cloud.RestRpcValueSerializer.Serialize(ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Stream stream)
at Epicor.ServiceModel.Channels.ImplBase.BuildContent(RestValueSerializerBase serializer, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut)
at Epicor.ServiceModel.Channels.ImplBase.BuildRequestMessage(String methodName, RestValueSerializerBase serializer, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut)
at Epicor.ServiceModel.Channels.ImplBase.d__130.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Epicor.Utilities.AsyncHelper.RunSync[TResult](Func1 method) at Epicor.ServiceModel.Channels.ImplBase.Execute(String methodName, RestValueSerializerBase serializer, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut) at Epicor.ServiceModel.Channels.ImplBase.<>c__DisplayClass126_0.<CallWithCommunicationFailureRetry>b__0(Context _) at Polly.Policy1.<>c__DisplayClass13_0.b__0(Context ctx, CancellationToken _)
at Polly.Retry.RetryEngine.Implementation[TResult](Func3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates1 shouldRetryResultPredicates, Action4 onRetry, Int32 permittedRetryCount, IEnumerable1 sleepDurationsEnumerable, Func4 sleepDurationProvider) at Polly.Retry.RetryPolicy1.Implementation(Func3 action, Context context, CancellationToken cancellationToken) at Polly.Policy1.Execute(Func3 action, Context context, CancellationToken cancellationToken) at Polly.Policy1.Execute(Func2 action, Context context) at Epicor.ServiceModel.Channels.ImplBase.CallWithCommunicationFailureRetry(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, RestRpcValueSerializer serializer) at Epicor.ServiceModel.Channels.ImplBase.CallWithMultistepBpmHandling(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy) at Epicor.ServiceModel.Channels.ImplBase.Call(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy) at Ice.Proxy.Lib.EfxLibraryDesignerImpl.ApplyChangesWithDiagnostics(EfxLibraryDataSet libraryTableset, IEnumerable1& diagnostics)
at Ice.UI.EfxLibraryMaintenance.Services.LibraryService.<>c__DisplayClass2_0.b__0(EfxLibraryDesignerImpl svc)
at Ice.Blaq.Client.EfxLibraryDesigner.LibraryInfoService.CallSvc(Action1 func) at Ice.UI.EfxLibraryMaintenance.Services.LibraryService.ApplyChangesWithDiagnostics(EfxLibraryDataSet& input, IEnumerable1& diagnostics)
at Ice.UI.EfxLibraryMaintenance.MainTransaction.ApplyChangesWithDiagnostics(String lastSelectedLibrary, IEnumerable1& diagnostics) at Ice.UI.EfxLibraryMaintenance.MainTransaction.adapterUpdate() at Ice.Lib.Framework.EpiMultiViewTransaction.Update(IEnumerable1 dataSets)


