I'm answering this myself because I found no answers anywhere and this is my favorite online programming reference. Hope it helps someone else.
I maintain a WinForms application that uses a third party COM component. We recently upgraded to a new version of the component with some additional properties/features (all old properties are intact), but I could not get Visual Studio to detect the new properties. It acted very much like it was hanging onto a reference to the old version of the component. Here are the steps I took to try to clear it:
- Deleted the form that was consuming the component (copied out code first). The only control on this form was the third party component.
- Removed the reference to the old component
- Deleted the bin and obj folders in the solution directory so that the PIA's would get newly created when I added the new control
- Uninstalled the old component, installed the new one
- Opened the solution, added the reference to the new component
- Added a form to the application, dropped the component onto the form and gave it the same name the old control had (so that the rest of the application didn't have to be refactored
- Pasted the form code back in place
At that point the application would compile and run, but I could not get Intellisense to detect the new properties, and if I put them in place anyways the application would not compile. Nothing I tried would get the new properties to show.