In the inspector, on the top right corner, you’ll see a dropdown called layer, check if the layer is the same with both GameObjects, according to Physics 2D, I’m pretty sure the gameobjects have to be on the same layer to be able to collide.
“OnCollisonEnter2D” isn’t the correct method name spelling so this will never be called by Unity so hopefully this isn’t what’s in your code. You spell “Collision” correctly when you typed “Collision2D” though.
You wouldn’t have this problem if you had an IDE like Visual Studio set-up as it’d type this for you.
Sorry to be critical but I think it’s constructive criticism; the fact that I told you exactly what was wrong but you didn’t read what I put, clearly shows that you are not being attentive enough to details and are looking but not reading.
A simple typo should not cause you so much pain and involve so many other devs. To make things easier, I would suggest reading details and being more careful.
Don’t use this code, it’s flawed. You don’t modify the Transform, that won’t change the body position until the next simulation step; change the body position directly and let the Rigidbody2D do what it’s meant to do which is write to the Transform.