If you don't give an assembly a strong name, then the compiler generates a weak name, which changes everytime the item is regenerated (that is why it is weak, it keeps dying!).

When you go to run the program, it does not find the exact image that it is looking for.

Once you use a strong name, you are responsible for updating the versioning information. You can build the item over and over again without updating the version information and be able to use the assembly (providing the public interfaces have not changed of course...)