.net core 如何在VSTS中的发布步骤上运行Visual Studio 2017 dotnet测试项目

.net core 如何在VSTS中的发布步骤上运行Visual Studio 2017 dotnet测试项目,.net-core,azure-pipelines,.net Core,Azure Pipelines,有人知道如何使用dotnet测试在VST上运行测试项目吗 我的情况是这样的。我有一个简单的MVC dotnet核心web项目,它构建并托管在azure webapp上。在解决方案中,我有一个xUnitTest项目 我可以在解决方案中成功构建这两个项目,并将构建阶段的结果发布到VSTS中的发布阶段。我可以很好地完成Webapp,但我想在Webapp部署后运行测试,这就是我遇到的问题 尝试通过powershell运行“dotnet测试”失败,原因是找不到Visual Studio 2017项目所没

有人知道如何使用dotnet测试在VST上运行测试项目吗

我的情况是这样的。我有一个简单的MVC dotnet核心web项目,它构建并托管在azure webapp上。在解决方案中,我有一个xUnitTest项目

我可以在解决方案中成功构建这两个项目,并将构建阶段的结果发布到VSTS中的发布阶段。我可以很好地完成Webapp,但我想在Webapp部署后运行测试,这就是我遇到的问题

尝试通过powershell运行“dotnet测试”失败,原因是找不到Visual Studio 2017项目所没有的project.json

         Directory: D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj
2017-05-18T08:39:05.5423817Z 
2017-05-18T08:39:05.5423817Z 
2017-05-18T08:39:05.5433824Z Mode                LastWriteTime         Length Name                                                                  
2017-05-18T08:39:05.5433824Z ----                -------------         ------ ----                                                                  
2017-05-18T08:39:05.5513817Z d-----        5/18/2017   6:48 AM                bin                                                                   
2017-05-18T08:39:05.5535129Z d-----        5/18/2017   6:50 AM                obj                                                                   
2017-05-18T08:39:05.5673839Z -a----        5/18/2017   6:48 AM           1179 DemoTests.cs                                                          
2017-05-18T08:39:05.5693821Z -a----        5/18/2017   6:48 AM            637 TrentsCoreTestProj.csproj                                             
2017-05-18T08:39:07.0767288Z 
2017-05-18T08:39:07.0767288Z Welcome to .NET Core!
2017-05-18T08:39:07.0767288Z ---------------------
2017-05-18T08:39:07.0767288Z Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs.
2017-05-18T08:39:07.0767288Z Telemetry
2017-05-18T08:39:07.0767288Z --------------
2017-05-18T08:39:07.0767288Z The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include commandline arguments. The data is collected by Microsoft and shared with the community.
2017-05-18T08:39:07.0767288Z You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell.
2017-05-18T08:39:07.0767288Z You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry.
2017-05-18T08:39:07.0767288Z Configuring...
2017-05-18T08:39:07.0767288Z -------------------
2017-05-18T08:39:07.0767288Z A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once.
2017-05-18T08:39:12.5336298Z Decompressing 0%Decompressing 1%Decompressing 2%Decompressing 3%Decompressing 4%Decompressing 
...
 97%Decompressing 98%Decompressing 99%Decompressing 100% 5339 ms
2017-05-18T08:39:33.4781464Z Expanding 0%Expanding 1%Expanding 2%Expanding 3%Expanding 4%Expanding 
...
 97%Expanding 98%Expanding 99%Expanding 100% 20646 ms
2017-05-18T08:39:59.8431503Z ##[error]dotnet-test Error: 0 : System.InvalidOperationException: D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\project.json does not exist.
   at Microsoft.DotNet.Tools.Test.TestCommand.GetProjectPath(String projectPath)
   at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args)

2017-05-18T08:40:01.1967180Z ##[error]Process completed with exit code -1 and had 1 error(s) written to the error stream.
2017-05-18T08:40:01.1977186Z ##[section]Finishing: PowerShell Script
当我使用“dotnet”发布步骤时,它告诉我csproj不存在,我可以从powershell中看到它确实存在

2017-05-18T08:40:01.1997188Z ==============================================================================
2017-05-18T08:40:01.1997188Z Task         : .NET Core
2017-05-18T08:40:01.1997188Z Description  : Build, test and publish using dotnet core command-line.
2017-05-18T08:40:01.1997188Z Version      : 1.0.1
2017-05-18T08:40:01.1997188Z Author       : Microsoft Corporation
2017-05-18T08:40:01.1997188Z Help         : [More Information](https://go.microsoft.com/fwlink/?linkid=832194)
2017-05-18T08:40:01.1997188Z ==============================================================================
2017-05-18T08:40:01.6787208Z [command]"C:\Program Files\dotnet\dotnet.exe" test "D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\TrentsCoreTestProj.csproj"
2017-05-18T08:40:01.8877228Z dotnet-test Error: 0 : System.InvalidOperationException: D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\TrentsCoreTestProj.csproj\project.json does not exist.
2017-05-18T08:40:01.8887223Z    at Microsoft.DotNet.Tools.Test.TestCommand.GetProjectPath(String projectPath)
2017-05-18T08:40:01.8887223Z    at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args)
2017-05-18T08:40:01.9397245Z ##[error]Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 4294967295
2017-05-18T08:40:01.9397245Z ##[error]Dotnet command failed with non-zero exit code on the following projects : D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\TrentsCoreTestProj.csproj
2017-05-18T08:40:01.9397245Z ##[section]Finishing: dotnet test
我可以使用完全相同的命令在本地命令行上成功运行“dotnet test”,但是我需要在VSTS上运行该命令,以便我可以将测试部分作为CI构建的一部分。

检查:

  • 您使用托管VS 2017队列,而不是默认托管队列或安装了1.0.0+CLI的自定义计算机
  • 确保项目中(或在
    D:\
    上)没有将CLI固定到
    1.0.0-preview2-*
    版本的
    global.json
    文件-这可能是您看到
    project.json不存在的原因

  • 如果这些步骤对你有用,请考虑接受答案。如果没有,请让我/我们知道。您用于发布的文件有哪些?是否存在测试文件(例如csproj)?