I have a sandbox solution that has list schemas, visual web parts, custom pages and actions, workflows and a couple event receivers. Yes, one big mess of a thing, but I needed to pack everything up in a single feature.
Now, that solution is already deployed and in production. We need to change one line of code in one of the event receivers. Problem is... if I simply re-deploy the solution, I risk the site collection becoming corrupted (seems like repeated deployment of the same schema will cause that - easily reproducible with the simplest document libraries). In the very least the webparts would be duplicated and I'd have to remove every dupe by hand since you can't do that by code in a sandbox solution.
If I create another project just to have only the event receivers there, then it's another feature that I have to maintain in the site. Also since one solution already has an assembly with all the same namespaces and classes in the site, the new solution will conflict with the old one. And I'd have to keep the original feature permanently deactivated (to turn "off" its event receiver logic).
Help? How can I make the change to the event receiver in the least traumatic way?