1. A method for providing version resiliency between a host application that is unmanaged code and managed code, the host application and the managed code communicating via an adapter and a proxy that implement a protocol, by a method comprising: when a new version of the host application that impacts an interface exposed by an object of the host application is released, releasing a new version of the adapter for the object that factors in the impact of the exposed object, the adapter for executing in the same application domain as the managed code, wherein the adapter and proxy are instantiated within the application domain of the managed code.