A method and system are disclosed for editing a software program in a
common language runtime environment, wherein the software program has a
source code component, an intermediate language component, and a native
code component. The method comprises executing a first portion of the
native code component, suspending execution of the native code component
at a first point, and allowing a user to edit the source code component
to create an edited source code component. The edited source code
component is compiled using a source compiler to create an edited
intermediate language component, and the edited intermediate language
component is compiled using an intermediate language compiler to create
an edited native code component. The edited native code component is then
executed beginning at the point where execution was previously suspended.