我的Visual Studio 2015解决方案包含一个针对.NET 4.5的单元测试项目。
我正在测试的代码是.NET 4.0 WPF应用程序。平台差异是必要的,因此Visual Studio可以识别" async Task"测试方法正确。
WPF应用程序项目依赖于MvvmLight NuGet包,因此我还必须在Unit Test项目中引用此包。
单元测试编译失败,因为它预期MvvmLight 5.3.0.19038,但它包含对5.3.0.19026的引用。
我尝试在Unit Test项目上手动编辑packages.config文件,使MvvmLight包(及其依赖项)以.NET 4.0为目标,如:
<package id="MvvmLight" version="5.3.0.0" targetFramework="net40" />
然而,组装仍然是相同的。
如何编译这个项目?
答案 0 :(得分:0)
我可以通过创建这样的测试来解决.NET 4.0上的“异步任务”测试方法限制:
[TestMethod]
public void MyTestMethod()
{
TaskEx.Run(async () =>
{
//Replace with unit test code
await TaskEx.Delay(1000);
}).GetAwaiter().GetResult();
}
仍不确定这是否适用于所有测试,但这是一种入门方式。