MSTest异常:单元测试适配器抛出异常:成员未解析类型

Dro*_*per 8 msbuild unit-testing mstest

在我的项目中,我使用Microsoft的单元测试框架编写测试.当我从Visual Studio运行它们时,我的所有测试都通过了,但是当我从MSBuild运行测试时,所有测试都失败并显示以下erorr消息:

单元测试适配器引发异常:未解析成员 SomeType,SomeAssembly Version = assemblyVersion,Culture = neutral,PublicKeyToken = ..

未找到的程序集是所有项目引用的第三方程序集.

构建脚本由TFS使用,所以我给出了以下几行:

<RunTest>true</RunTest>

<ItemGroup>
    <MetaDataFile Include="$(BuildProjectFolderPath)myproject.vsmdi">
        <TestList>CI_Tests</TestList>
    </MetaDataFile>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我发现这篇文章显示了这个问题的解决方案,但遗憾的是我无法在TFS服务器上查看文件.

救命!

tel*_*win 10

我在单元测试中遇到了同样的问题.上面的链接文章表明问题是VSTS导致在线程的CallContext中复制某些对象.

对于它的价值,在我的情况下问题是我在线程的CallContext中手动放置了一个对象,这导致了这个异常.我能够通过清除TestCleanup例程中的CallContext来解决这个问题.我没有必要在任何地方更改任何文件.

  • [TestCleanup] public void Cleanup(){CallContext.FreeNamedDataSlot(“ __ Key”); }-是的,它也对我有用,谢谢! (2认同)

Grz*_*nio 3

首先要检查的是该程序集是否已复制到 msbuild 运行测试的文件夹中。由于某些历史原因,您的 bin/Debug 文件夹中可能有一个副本,但项目中的依赖关系未正确设置。