在.NET 4中,加载.NET 2混合模式程序集需要在应用程序项目的app.config文件的startup element中设置useLegacyV2RuntimeActivationPolicy="true"
。在VS 2010中为测试项目设置useLegacyV2RuntimeActivationPolicy
如何为测试项目设置(以及是否有必要)?我得到的测试主机的一些非常奇怪的行为,但仅适用于直接使用CLR 2混合模式组件的测试,所以我怀疑这可能是罪魁祸首...
接收实际的错误是:
测试适配器'UnitTestAdapter'在运行测试'MyTest'时引发异常。异常是由调用的目标引发的。尝试读取或写入受保护的内存。这通常表明其他内存已损坏。
但是,它并未显示为测试失败,而是显示为错误。异常似乎发生在单元测试适配器中,而不是我的代码。
我会提交一个关于连接的错误 - 虽然我试图缩小导致这种行为的原因,但是很难说清楚。它似乎只发生在使用混合模式程序集标记[ExpectedException]的单元测试中。这可能是别的。 – 2010-02-18 21:13:23
在进一步调查中,QTAgent32的配置已经有了这个指定 - 这必须是其他问题。 *感到沮丧* – 2010-02-18 21:13:59
由于连接建议标记为答案。刚刚提交:https://connect.microsoft.com/VisualStudio/feedback/details/534700/odd-failures-in-test-projects-with-clr-2-mixed-mode-assemblies – 2010-02-18 21:44:18