在.NET 4中,加载.NET 2混合模式程序集需要在应用程序项目的app.config文件的
startup element中设置
useLegacyV2RuntimeActivationPolicy="true"
.
如何为测试项目设置(并且有必要)?我在测试主机中遇到了一些非常奇怪的行为,但仅适用于直接使用CLR 2混合模式组件的测试,所以我怀疑这可能是罪魁祸首……
收到的实际错误是:
The test adapter ‘UnitTestAdapter’ threw an exception while running test ‘MyTest’. Exception has been thrown by the target of an invocation. Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
但是,它并未显示为测试失败,而是显示为错误.异常似乎发生在单元测试适配器中,而不是我的代码.
最佳答案 据我所知,无法通过UI设置此选项.我不确定这是否是一个受支持的场景.它看起来应该是这样的.你能否在连接上提交一个bug来跟踪这个问题?
> http://connect.microsoft.com/
与此同时,您应该能够通过在QTAgent32应用程序上设置选项来解决此问题.这是实际用于运行单元测试的过程,它位于
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
是的,非常hacky解决方案,但希望它解除你的阻碍.