繁体   English   中英

Visual Studio 2010 是否只运行 4.0 单元测试?

[英]Will Visual Studio 2010 only run 4.0 unit tests?

我有用 .NET 3.5 编写的不同项目和一些单元测试项目来覆盖它们。 将我的解决方案转换为在 Visual Studio 2010 中使用时,我将所有项目保留在 3.5 中,但单元测试被强制为 4.0? 这样我就不能再在我的常规项目中使用它们了。

结果是:无法加载文件或程序集“xxx.xxx.Core.UnitTest”或其依赖项之一。 此程序集由比当前加载的运行时更新的运行时构建,无法加载。

所以我不能对低于 4.0 的任何项目进行单元测试? 或者我在这里做错了什么?

目前令人遗憾的答案是肯定的 - 仅支持使用 VS2010 (.NET 4.0) 创建的测试。

显然这是故意完成的 - 请查看Microsoft Connect上的这个“错误”报告以了解详细信息。

更新
在微软看到他们的方式错误后,他们在 VS2010 SP1 中添加了 .NET 3.5 单元测试支持——完整的细节可以在这篇文章中找到。

您还可以重新定位现有的 .NET 4.0 单元测试 - 如何在 VS 2010 SP1 中将单元测试重新定位到 .Net Framework 3.5

虽然测试项目被转换为 Visual Studio 2010 测试项目并针对 .NET 4.0 框架进行编译,但幸运的是,您在测试中引用和测试的所有程序集仍然可以是 .NET 3.5(或其他)程序集。 否则将是灾难性的。 但是是的,您不能再使用 Visual Studio 2008 来运行这些测试项目。

当然,一种解决方法是保留测试的源代码,但有两个不同的测试项目,一个用于 VS2008,另一个用于使用相同测试源代码的 VS2010。 麻烦,但一个有效的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM