Symptoms
When you run Platform Invocation Services (PInvoke) with System.GUID as the return type, the process is unsuccessful and you receive the following exception error message:

An unhandled exception of type ‘System.Runtime.InteropServices.MarshalDirectiveException’ occurred in TestPInvoke.exe Additional information: Method’s type signature is not PInvoke compatible.
Resolution
Microsoft has confirmed that this is a problem in Visual Studio .NET.