Это проблема, вызванная многопоточностью, это сообщение об ошибке COM.Не совсем неожиданно, WinRT основывается на COM.Сообщение об ошибке говорит о том, что указатель интерфейса, созданный в одном потоке, используется в другом потоке без маршалинга.
Это то, что вы обычно должны делать сами, когда пишете необработанный код COM.Базовая вспомогательная функция COM - это радостное имя CoMarshalInterThreadInterfaceInStream ().Однако вы явно используете управляемый код.Работа CLR заключается в том, чтобы при необходимости указывать указатели.Он сделал это надежно и последовательно, вплоть до .NET версии 1.0, я никогда не видел случая, чтобы он возился.
Это очень сильно указывает на ошибку в C # await / async илиWinRT проекция CLR.Тем более, что эта ошибка должна быть последовательной.Ничего, что ты можешь исправить сам.Воспользуйтесь порталом connect.microsoft.com, чтобы сообщить об ошибке, им потребуется небольшой репро-проект, который демонстрирует проблему.
Единственный обходной путь, который у вас есть сейчас, - это тщательный контроль за потоками в вашемприложение.Избегайте этого неудачи, используя только объект в том же потоке, в котором вы его создали.Это не совсем гарантия того, что вы избежите ошибки.В противном случае вы можете ожидать головную боль при попытке использовать пре-бета-код.