You need to use the /clr compile option. /clr:safe will generate all sorts of errors. You can’t call managed code from the unmanaged code. #pragma unmanaged #pragma managed