We have in our application using the P4.NET library http://p4dotnet.sourceforge.net/index.php/P4.Net_Overview. It works OK, however we wrapped it as the interface was difficult to work with. P4.NET is not supported by Perforce and is probably missing a few features.
I have considered running SWIG on the C++ library and create a our own managed library but haven't had the chance (time) to do so.
HTH,
EDIT Just re-read my post and it's absolutely gibberish. Let's try again...
We have used the P4.NET library in our application, it works OK. It's interface is a little ugly and we wrote a wrapper hide it and expose the functionality we wanted. Writing a wrapper is a good idea anyways as it gives us the option/flexibility to swap the VC system out with SVN or GIT (why you would if you can use Perforce I don't know...).
I have look briefly at the option of running SWIG against the Perforce C++ library and creating our own wrapper with a cleaner interface but it hasn't been a high priority task as P4.NET works.