I'm getting a strange error when I attempt to log into a dev site running on a locally hosted machine. I get the log in screen, but after I enter the credentials, I got the following response:
{
"Code": -1,
"Exception": "System.MissingMethodException: Method not found: 'StackExchange.Redis.RedisValue StackExchange.Redis.RedisValue.op_Implicit(System.Memory`1)'."
}
Any suggestions on what might be causing the error? Or where to look? Nothing in the logs is jumping out at me.
I do have another instance of Creatio running on the same server and it runs just fine.
Like
Hello,
This error is almost certainly caused by a version mismatch of the StackExchange.Redis library, rather than anything related to the login itself. The message indicates that the application is trying to call a method that exists in one version of the library, but at runtime a different version is being loaded where that method doesn’t exist.
Since you mentioned another Creatio instance on the same server works fine, the most likely issue is that the two sites have different versions of StackExchange.Redis.dll (or related dependencies like System.Memory.dll) in their bin folders, or different binding redirects in web.config.
A good starting point is to compare the Redis-related DLLs between the working and non-working instances and make sure they match exactly. Also check the web.config for any binding redirects that might be forcing a different version at runtime. If everything looks the same, it’s worth verifying which assembly is actually being loaded, as sometimes an unexpected version can be picked up from another location.
In short, focus on aligning the Redis-related dependencies between the two instances—this type of error should be resolved once the correct assembly version is being loaded.
Mira Dmitruk,
Sorry I haven't replied to this sooner - had higher priority items to get done.
I finally resolved this. Ultimately, it took process monitor and process explorer to figure it out, but ultimately, I noticed that the w3wp.exe had multiple versions of System.Memory loaded. There was a binding redirect for System.Memory, but it looked like System.Buffers was trying to load the wrong version as well. The fix was to add a binding redirect to point to 4.0.3.0. for System.Buffers (there was a difference in the versions in terrasoft.webapp\bin and terrasoft.webapp\roslyn\bin).
I have zero idea why it broke.