Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

unittests fails on build server with Could not load type 'Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupBehavior

I got an assembly that builds and unit tests fine on my PC, but fails to test on the build PC. It has been failing for about a month. I've most likely done something wrong. Here is the response I get from the build server.

16:29:38     Project "xyz.Utilities.UnitTests.csproj": VSTest
16:29:40     Test run for C:\Bin\Release\net5.0-windows\xyz.Utilities.UnitTests.dll (.NETCoreApp,Version=v5.0)
16:29:40     Microsoft (R) Test Execution Command Line Tool Version 16.11.0
16:29:40     Copyright (c) Microsoft Corporation.  All rights reserved.
16:29:40     
16:29:40     Starting test execution, please wait...
16:29:40     A total of 1 test files matched the specified pattern.
16:29:41     An exception occurred while invoking executor 'executor://mstestadapter/v2': Could not load type 'Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupBehavior' from assembly 'Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

16:29:41     Stack trace:
16:29:41        at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.MSTestExecutor.RunTests(IEnumerable`1 sources, IRunContext runContext, IFrameworkHandle frameworkHandle)
16:29:41        at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.RunTestsWithSources.InvokeExecutor(LazyExtension`2 executor, Tuple`2 executorUriExtensionTuple, RunContext runContext, IFrameworkHandle frameworkHandle)
16:29:41        at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.RunTestInternalWithExecutors(IEnumerable`1 executorUriExtensionMap, Int64 totalTests)
16:29:41     
16:29:41     
16:29:41     Test Run Failed.
16:29:41     
16:29:41     Build FAILED.
16:29:41         0 Warning(s)
16:29:41         0 Error(s)

My project file is quite simple:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net5.0-windows</TargetFramework>
        <IsPackable>false</IsPackable>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
        <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
        <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
        <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
        <OutputPath>$(SolutionDir)\Bin\$(Configuration)</OutputPath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
        <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
        <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
        <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
        <OutputPath>$(SolutionDir)\Bin\$(Configuration)</OutputPath>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="EasyTcp" Version="4.0.0" />
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
        <PackageReference Include="MSTest.TestAdapter" Version="2.2.7" />
        <PackageReference Include="MSTest.TestFramework" Version="2.2.7" />
        <PackageReference Include="coverlet.collector" Version="3.1.0">
          <PrivateAssets>all</PrivateAssets>
          <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
    </ItemGroup>
    <ItemGroup>
      <ProjectReference Include="..\xyz.Utilities\xyz.Utilities.csproj" />
    </ItemGroup>
</Project>

I think it has something to do with the version of Visual Studio on the build server. We are running Teamcity. Does anyone have any clue?

like image 463
kfn Avatar asked Sep 13 '25 16:09

kfn


2 Answers

Upgrade your NuGet packages to the latest and it should fix your problem. I think you need 2.2.8 for MSTest.TestAdapter and MSTest.TestFramework.

like image 160
Phil Hochstetler Avatar answered Sep 15 '25 07:09

Phil Hochstetler


I've upgraded as suggested and it works fine now. enter image description here

like image 20
kfn Avatar answered Sep 15 '25 08:09

kfn