我在VS2017尝试它。我正在使用VSTest框架编写测试。我正在编写此测试的方法使用多线程。执行测试时,我收到STA错误。我看了互联网,并发现了许多建议,以解决它在runsettings。我已经有了现有的runsettings,我尝试添加以下条目,似乎没有任何效果,并且在运行测试时仍然出现STA错误
对于以下设置,没有无效设置错误但STA线程问题仍然存在
<RunSettings>
<!-- ... -->
<TestSettings>
<Execution>
<!-- ... -->
<ExecutionThread apartmentState="MTA" />
</Execution>
</TestSettings>
以下更改的设置“RunConfiguration”无效
<RunSettings>
<RunConfiguration>
<!-- -->
<ExecutionThread apartmentState="MTA" />
</RunConfiguration>
</RunSettings>
按照这个: https://github.com/Microsoft/vstest-docs/blob/master/docs/configure.md 我正在改变如下:
<RunSettings>
<RunConfiguration>
<!-- -->
<ExecutionThreadApartmentState>MTA</ExecutionThreadApartmentState>
</RunConfiguration>
</RunSettings>
但我仍然收到无效设置'RunConfiguration'的错误。 请建议。
答案 0 :(得分:0)
如上所述,在VS 2017更新5支持的runsettings中链接ExecutionThreadApartmentState
。对于早期版本,您可以在文件C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \中设置CommonExtensions \微软\ TestWindow \ vstest.executionengine.exe.config。请参阅:https://github.com/Microsoft/vstest-docs/blob/master/docs/configure.md#execution-thread-apartment-state