我有一个visual studio 2008单元测试,我得到了以下运行时错误:
Unable to set TestContext property for the class JMPS.PlannerSuite.DataServices.MyUnitTest. Error: System.ArgumentException: Object of type 'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' cannot be converted to type 'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'我读到VS2008在转换2005项目时没有正确地更新对UnitTestFramework的引用。我的单元测试创建于2008年,但它继承了VS2005中构建的一个基类。这就是我的问题所在吗?我的基类必须在2008年重建吗?我宁愿不这样做,因为它会影响其他项目。
在2005年构建的其他派生单元测试中,我们所需要做的就是注释掉派生单元测试中的TestContext属性。我在VS2008单元测试中尝试过这个方法,但没有成功。我还尝试了“新建”TestContext属性,它给了我一个不同的运行时错误。
有什么想法吗?
发布于 2013-05-16 23:38:07
在Visual Studio 2012中,当我升级一个较旧的项目(我想是2005年)时,也遇到了同样的问题。
需要删除对Microsoft.VisualStudio.QualityTools.UnitTestFramework的引用,方法是在解决方案资源管理器中右键单击它,然后删除它。
要添加正确的选项:
要显示路径,请在../IDE/PublicAssemblies
中选择一个
发布于 2012-04-13 08:32:48
我在这里发布这篇文章,希望它能帮助一些人对智能设备项目进行单元测试。当我第一次尝试为我在Visual Studio 2008中处理的智能设备项目中的方法运行单元测试时,我得到了一个非常类似的错误:
Error: System.ArgumentException: Object of type 'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' cannot be converted to type 'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'谷歌搜索错误返回的结果表明,它是由于将测试项目从Visual Studio2005格式升级到2008而导致的,并且对UnitTestFramework.dll的引用仍然是旧版本(8.0),需要更新。这不适用于我,因为我没有从VS2005升级我的测试项目。所以我继续寻找。
经过几个小时的搜索错误的其他原因,但没有成功,我偶然发现了智能设备项目中的以下参考资料:
Visual Studio正在从以下文件夹获取这些引用:
C:\Program Files\Windows Mobile 5.0 SDK R2\Managed Libraries但是,智能设备项目的目标平台是Windows Mobile6Professional SDK。我之前没有注意到这一点,因为我最初并没有创建智能设备项目。因此,我删除了对这两个DLL的引用,并从以下文件夹中读取了它们:
C:\Program Files\Windows Mobile 6 SDK\Managed Libraries重新生成智能设备项目后,运行测试方法成功。
发布于 2010-04-10 02:19:22
我遇到了同样的问题。原来我的一个项目引用了8.0程序集,另一个项目引用了9.0。解决方案被编译了,但我得到了一个运行时异常。
https://stackoverflow.com/questions/1006702
复制相似问题