我在Visual Studio 2010中创建了一个小型Windows应用程序项目,我无法将主线程的apartment属性设置为STA,默认情况下它设置为MTA,即使属性为[STAThread]
或{ {1}}我的主要方法。
这会导致在显示表单并更改其控件属性时引发异常。
这是我的应用程序入口点的屏幕截图,其中我显示主线程[STAThreadAttribute]
属性的值并尝试将其更改为STA(我不在我的应用程序中执行此操作,它只是为了显示什么如果有人建议以编程方式更改它,则会发生:
下面是Debug部分中我的应用程序属性的屏幕截图:
我不明白,因为我没有离开主线程。 你知道这个问题的根源是什么以及我如何解决它?
编辑:如果我禁用“启用Visual Studio托管过程”选项,则ApartmentSate
属性已正确设置为STA。这是避免这个问题的最佳方法,还是我可以用更好的解决方案来解决这个问题?
谢谢