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
如果能帮助确定引用这些文件的正确方法,我们将不胜感激。
- 开发者环境:Visual Studio 2015 更新 3
- 测试框架:mstest
- "MSTest.TestFramework": "1.0.4-预览版"
- "dotnet-test-mstest": "1.1.1-预览版"
更新 2/22/17
我仍然无法 运行 从 VSTS 构建。当我从来自测试项目文件夹的命令行中 运行 命令 "dotnet.exe test" 时,我能够 运行 项目。
当我更改路径以排除“.”时,我在本地和 VSTS 上仍然有错误。我已经更新了项目以反映这一点。以下是我的构建定义:
- .NET Core - 还原
- 项目:**/project.json
- .NET 核心 - 构建
- 项目:**/project.json
- .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" 任务作为解决方法:
我有一个 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
如果能帮助确定引用这些文件的正确方法,我们将不胜感激。
- 开发者环境:Visual Studio 2015 更新 3
- 测试框架:mstest
- "MSTest.TestFramework": "1.0.4-预览版"
- "dotnet-test-mstest": "1.1.1-预览版"
更新 2/22/17 我仍然无法 运行 从 VSTS 构建。当我从来自测试项目文件夹的命令行中 运行 命令 "dotnet.exe test" 时,我能够 运行 项目。
当我更改路径以排除“.”时,我在本地和 VSTS 上仍然有错误。我已经更新了项目以反映这一点。以下是我的构建定义:
- .NET Core - 还原
- 项目:**/project.json
- .NET 核心 - 构建
- 项目:**/project.json
- .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" 任务作为解决方法: