Visual Studio 2010 中存在一个错误/功能,您无法使用 2.0 CLR 创建单元测试项目。
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=483891&wa=wsignin1.0
当被测试的项目面向 2.0 CLR(在这种情况下是 .Net 3.5 SP1 之上的 ASP.NET MVC 2)时,这会导致各种问题 - 在调试时崩溃,测试意外失败,在一种情况下测试项目没有甚至因为依赖 System.Web 2.0.0.0 而构建,这在面向 4.0 的项目中不可用。
无法将测试项目更改为面向 3.5 框架。
有谁知道解决方法?
我知道但想避免的解决方法包括:-
1) 将整个解决方案升级到面向 .NET 4
我想在 Azure 上托管,目前尚不清楚是否/何时会添加对 .NET 4.0 的支持。见 .NET 4.0 on Windows Azure?
2) 将整个项目回滚到 Visual Studio 2008
这是最后的手段,因为 2010 年有许多功能我真的很想使用
3) 在 2008 年构建单元测试并手动管理引用
这会奏效,但会带来巨大的痛苦。
有任何想法吗?
最佳答案
您没有建议更改为不同的测试框架。我个人使用 NUnit并有多年。它比 2008 年的东西复杂得多。我没有时间看到 2010 年发生了什么变化,但我看不到 MS 能这么快地 catch 来。
关于unit-testing - 在 VS2010 中使用 MStest 对 .NET 3.5 项目进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1679404/