我目前正在使用 Microsoft Visual Studio 2012 和新的 Fakes 框架。在将我的单元测试添加到 MSBuild 和持续集成过程之后,Fakes 单元测试恰好引发了 ShimNotSupportedException。
我尝试了不同的东西并阅读了该问题并发现,这只发生在我从 Resharper 功能运行我的测试时,或者直接在使用 MSTest 的代码中。从测试菜单栏运行时不会发生这些异常,这让我想到检查此功能的设置文件。
经过进一步研究,我发现一些文章说它可能与 Resharper 或 MSTest 设置中指定的代码覆盖率设置有关,如果您将其关闭,它可以解决问题。MS VisualStudio 2012 中的 ShimNotSupportedException也与该问题有关。
我还在 MSDN 上找到了一些关于该问题的输入,这证实了我必须对代码覆盖率做一些事情:http: //social.msdn.microsoft.com/Forums/en-US/vstest/thread/17fcfdc6- 1cda-4692-a242-656b48195327/和http://social.msdn.microsoft.com/Forums/en-US/vstest/thread/bfa792b0-b3fc-4a51-b49d-f7aaf1f2f4b8。
尽管如此,由于我必须尽快以某种方式在持续集成过程中实现代码覆盖,并且跳过该部分不是一个选项,所以我现在在这里询问有关此问题的任何建议,以及是否有任何解决该问题的方法!
感谢所有建议!