я следующую статическую функцию экспорта для вызова из внешнего приложенияВызов статического метода из внешнего приложения
[DllExport("Initialize", CallingConvention = CallingConvention.StdCall)]
public static void OnStartUp1()
{
try
{
a = new Indicator();
a.Init();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}
, когда я и называю этот метод из другого приложения .NET он работает хорошо, но когда я называю из внешнего приложения, которое я построю для этой функции, возвращается следующее исключение:
System.InvalidOperationException: регистрация DragDrop не удалась. ---> System.Threading.ThreadStateException: текущий поток должен быть установлен в режим однопоточной квартиры (STA) до того, как вызовы OLE могут быть сделаны. Убедитесь, что ваша основная функция имеет STAThreadAttribute, отмеченный на нем.
Пробовал ли вы пометить метод атрибутом [STAThread]? –