dotnet.exe 测试命令文件引用失败 MSTest

dotnet.exe test command file reference fails MSTest

我有一个 ASP.NET Core Web API / .NET Core 应用程序 运行ning 可以在本地和其他开发人员机器上构建和执行测试。它也 运行 在 Docker 中很好(我们 build/test 在构建 docker 之前申请)。我们正在尝试使用 Visual Studio Team Services 自动构建我们的构建,并且解决方案构建良好,当它在 VSTS 上执行测试时出现问题。应用程序在从配置文件读取的 运行 时间加载程序集,因此当应用程序尝试加载程序集时,它会抛出一个异常(如下),说明找不到它。配置文件中的值是相对路径。任何明显我遗漏的东西

System.Exception with message "Unable to load assembly or type. A: R:\agent\_work\s\Support\<assemblyname>, T: <TypeName>. Error: The system cannot find the path specified. (Exception from HRESULT: 0x80070003)

当应用程序 运行 来自 Visual Studio 时,它 运行 没问题。当我 运行 下面的命令时,我可以重新创建我们在 VSTS 上遇到的错误。

"C:\Program Files\dotnet\dotnet.exe" test <Project Directory>/project.json --configuration release

如果能帮助确定引用这些文件的正确方法,我们将不胜感激。

更新 2/22/17 我仍然无法 运行 从 VSTS 构建。当我从来自测试项目文件夹的命令行中 运行 命令 "dotnet.exe test" 时,我能够 运行 项目。

当我更改路径以排除“.”时,我在本地和 VSTS 上仍然有错误。我已经更新了项目以反映这一点。以下是我的构建定义:

  1. .NET Core - 还原
    • 项目:**/project.json
  2. .NET 核心 - 构建
    • 项目:**/project.json
  3. .NET Core - 测试
    • 项目:test/HostConsoleAppTest/project.json(我也是用的相对路径)

VSTS 错误:

2017-02-22T17:32:01.3057263Z Unable to load assembly or type. A: D:\a\s\Support\ImplAssembly.dll, T: ImplAssembly.TestReference. Error: The system cannot find the path specified. (Exception from HRESULT: 0x80070003) Running the reference with no dot

2017-02-22T17:32:01.3057263Z Getting Configuration

2017-02-22T17:32:01.3057263Z Creating implementation via assembly

2017-02-22T17:32:01.3057263Z Unable to load assembly or type. A: D:\Support\ImplAssembly.dll, T: ImplAssembly.TestReference. Error: The system cannot find the path specified. (Exception from HRESULT: 0x80070003)

Git 仓库已更新

我在身边重现了您的问题,您现在可以使用 "Command Line" 任务作为解决方法: