while debugging as suggested is probably the easiest, you can read through all the breaking changes since 3.1. one of them probably applies.
https://learn.microsoft.com/en-us/dotnet/core/compatibility/5.0
https://learn.microsoft.com/en-us/dotnet/core/compatibility/6.0
https://learn.microsoft.com/en-us/dotnet/core/compatibility/7.0
https://learn.microsoft.com/en-us/dotnet/core/compatibility/8.0