If you receive the error cannot convert parameter 1 from 'std::string' to 'const wchar_t *' when executing the Dan solution, then you will ask the wrong question. Instead of asking how to convert wchar_t* to String^ , you should ask how to convert std::string to String^ .
Use the built-in c_str function to get a simple char* from std::string and pass this to the constructor.
std::string unmanaged = ...; String^ managed = gcnew String(unmanaged.c_str());
source share