This is, officially, not supported. VS2005 is required to debug CF2, and VS2005 does not target CE.net 4.2 devices. It was a good step forward when the CF2 service pack one came out with runtime support for CF2 and SqlMobile 3 on CE.net 4.2 devices but as someone who loves the debugger, lack of debug suport was a cruel omission. Often things that are not officially supported will still work in many cases though, so when SP2 came out I tried debugging on my DAP ce4.2 devices. "A file cannot be created when it already exists", an obscure error with hardly a mention on Google groups or MSDN forums, so I gave up.
Today I was debugging on a CE 5 device from this vendor. Somehow it got set to "limited user" mode, a proprietery feature of theirs. Limited user does not have access to read or write most things, including whatever VS2005 needs to start managed debugging on the device. Lo, I get the same error on my CE5 device which had previously been working for a week "A file cannot be created when it already exists". Changing back to "supervisor" mode on the device alleviated the issue. On a whim, I tried the first CE 4.2 device I came across in the office and I get the error.
Enabling "supervisor", and slowly but surely (much slower than CE5) it deploys to the device. Starting debugging fails though and I get an error saying it cannot find a version of the CLR compatible with my application, "Some devices do not support automatic CLR upgrade". Manually upgrading with NETCFv2.wce4.ARMV4.cab, System_SR_ENU.CAB, sqlce30.ppc.wce4.armv4.CAB, sqlce30.dev.ENU.ppc.wce4.armv4.CAB and I'm in business on CE 4.2. If anyone else has this problem I would encourage experimentation, it might work.
Edit: I should note that my target platform in VS2005 was "Windows CE 5.0 Device".