Ну вот. Теперь видно.
1.
Error 3 error C2065: 'string' : undeclared identifier
неизвестный тип string ("'string' : undeclared identifier") - Действительно, ты какой тип под ним имел в виду? В C# есть такой встроенный тип, а в C++ есть только std::string и дотнетовский System::String. Первый не подходит, потому что пространство имён std не указано, а второй из-за чувствительности языка к регистру.
2.
Error 9 error C3622: 'System::StringComparer': a class declared as 'abstract' cannot be instantiated
- и несколько последующих, связанных с ней.
Ты пытаешься создать абстрактный класс с помощью конструктора копирования, что нельзя. На самом деле, здесь скорее всего требовалось использовать тип-ссылку (StringComparer^ ), хотя в дотнетовских тонкостях применительно к C++ я не очень секу.
3.
Error 14 error C2065: 'Read' : undeclared identifier
Солидарен с компилятором. Совершенно непонятно, что это за Read и откуда он взялся.
4.
Error 15 error C2750: 'System::Threading::Thread' : cannot use 'new' on the reference type; use 'gcnew' instead
Надо слушать компилятора и не пытаться втиснуть C#-ный код в C++: беглый просмотр
документации в MSDN для класса Thread даёт следующий пример правильного создания потока:
Thread^ oThread = gcnew Thread( gcnew ThreadStart( &ThreadExample::ThreadProc ) );
5.
Error 17 error C2750: 'System::IO::Ports::SerialPort' : cannot use 'new' on the reference type; use 'gcnew' instead
Та же фигня, что и п.4
6. Ну и напоследок, с консолью тоже напортачено (точнее, с вызовом статических методов):
Error 23 error C2275: 'System::Console' : illegal use of this type as an expression
А теперь глядим документацию в
MSDN, пример для сиплюсплюса (там даже по русски):
Console::Write( L"Hola " );
Console::WriteLine( L"Mundo!" );
Console::WriteLine( L"What is your name: " );
Резюме: не надо, НЕ НАДО копировать код и надеяться, что как-нибудь так заработает. Особенно если языки разные
Ну и RTFM, конечно.