Ответ 1
Поместите [STAThread]
над вашим основным методом:
[STAThread]
static void Main()
{
}
Я пробовал этот код:
Clipboard.SetText("Test!");
И я получаю эту ошибку:
Текущий поток должен быть установлен в режим однопоточной квартиры (STA) до того, как вызовы OLE могут быть сделаны. Убедитесь, что ваша функция
Main
имеетSTAThreadAttribute
, отмеченную на ней.
Как я могу это исправить?
Поместите [STAThread]
над вашим основным методом:
[STAThread]
static void Main()
{
}
Вам нужно вызвать этот метод специально, потому что он использует какой-то унаследованный код. Попробуйте следующее:
Thread thread = new Thread(() => Clipboard.SetText("Test!"));
thread.SetApartmentState(ApartmentState.STA); //Set the thread to STA
thread.Start();
thread.Join(); //Wait for the thread to end