I am running API e2e tests in VSTS 2017 CD tasks and getting below error at the task (vsTest - End2End Tests)
Unable to find d:\a\r1\a\Project\e2e\bin\Release\netcoreapp2.1\testhost.dll. Please publish your test project and retry.
Unable to find d:\a\r1\a\Project\e2e\obj\Release\netcoreapp2.1\Project.EndToEnd.Integration.Test.deps.json. Make sure test project has a nuget reference of package "Microsoft.NET.Test.Sdk".
I have below nuget packages in my e2e prject.
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="Microsoft.TestPlatform.TestHost" Version="15.9.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
<PackageReference Include="TestStack.BDDfy.Xunit" Version="1.0.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.core" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.execution" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
My project target framework is .Net Core 2.1
As per this I believe everything in place. Not sure what is missing?
VSTS Task
Build.yaml (section)
- task: CopyFiles@2
displayName: "Copy Files to: $(Build.ArtifactStagingDirectory)"
inputs:
contents: "D:/a/1/s/src/xxx.EndToEnd.Integration.Tests/**"
targetFolder: $(Build.ArtifactStagingDirectory)
- task: DotNetCoreCLI@2
displayName: "dotnet e2e tests"
inputs:
command: publish
projects: $(Build.ArtifactStagingDirectory)/src/xxx.EndToEnd.Integration.Tests/xxx.EndToEnd.Integration.Tests.csproj
arguments : --no-build
- task: PublishBuildArtifacts@1
displayName: "Publish End-to-End Tests"
inputs:
artifactName: e2e
artifactType: container
pathToPublish: $(Build.ArtifactStagingDirectory)/src/xxx.EndToEnd.Integration.Tests

Microsoft.TestPlatform.TestHostandMicrosoft.NET.Test.Sdkis supported up to.NetCoreApp Version=v1.0Is this the issue?dotnet publishon the project in order to solve the issue, but since I'm trying to run the tests based on the build output of all test projects this doesn't seem practical (I'm guessing you are doing the same thing?)dotnet publish. Can you please elaborate on that? I added what I have in mybuild.yamldotnet publish, which will include all necessary binaries needed to run the tests using the vstest task. I currently use theDotNetCoreCLI@2step withcommandset topublish, use a minimatch pattern for theprojectsargument that captures all netcore test projects in the solution and using--no-buildasargumentssince my solution has already been built at that point.