无法加载文件或程序集“ Microsoft.VisualStudio.TestPlatform.ObjectModel,版本= 11.0.0.0”

Ben*_*ghs 4 .net c# unit-testing mstest

我正在使用MSTest.TestAdapter和MSTest.TestFramework这两个版本1.2.0进行我的MS测试单元测试。在我的本地计算机(Visual Studio 2017)上,测试运行完美,但是在构建服务器上,我们收到以下消息:

无法加载文件或程序集“ Microsoft.VisualStudio.TestPlatform.ObjectModel,版本= 11.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。

然后我用ildasm检查了该程序集的引用,的确是11.0.0.0版本(请参见下文)

但是我找不到该程序集的v11,在线上nuget上只有v14版本:https ://www.nuget.org/packages/Microsoft.VisualStudio.TestPlatform.ObjectModel/

我也在机器上搜索,但找不到v11。

所以我的问题是,为什么测试在我的机器上而不在构建服务器上运行?

我尝试了程序集绑定,但是没有成功。

在此处输入图片说明

Dou*_*leJ 6

同样的问题,我能够安装最新版本:

Install-Package Microsoft.TestPlatform.ObjectModel -Version 15.8.0
Run Code Online (Sandbox Code Playgroud)

然后添加一个绑定重定向到测试项目 app.config:

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.VisualStudio.TestPlatform.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="11.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
Run Code Online (Sandbox Code Playgroud)


小智 5

您需要的NuGet包是Microsoft编写的Microsoft.TestPlatform.ObjectModel,而不是Christopher.Haws编写的Microsoft.VisualStudio.TestPlatform.ObjectModel包。

https://www.nuget.org/packages/microsoft.testplatform.objectmodel/

Microsoft程序包中没有Microsoft.VisualStudio.TestPlatform.ObjectModel程序集,尽管未以这种方式命名。我遇到了同样的错误,当我安装Microsoft软件包的v11时,它为我修复了构建服务器上的构建。