У меня есть приложение ASP.NET Core Web API/.NET Core, которое создает и выполняет тесты локально и на других машинах разработчика. Он также отлично работает в Docker (мы создаем/тестируем приложение до создания докера). Мы пытаемся автоматизировать наши сборки с помощью Visual Studio Team Services, и решение строит отлично, только когда оно выполняет тесты на VSTS, есть проблема. Приложение загружает сборки во время выполнения, которое оно считывает из файла конфигурации, поэтому, когда приложение пытается загрузить сборку, оно выдает исключение (ниже), говорящее, что оно не может быть найдено. Значения в файле конфигурации являются относительными путями. Что-то очевидное, что мне не хватаетОшибка задания файла команды testnet.net Ошибка MSTest
System.Exception with message "Unable to load assembly or type. A: R:\agent\_work\4\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 Update 3
- Testing Framework: MSTest
- "MSTest.TestFramework": "1.0.4-просмотр"
- "DotNet-тест-MSTest": «1,1 .1-preview "
ОБНОВЛЕНИЕ 2/22/17 Я все еще не могу запустить сборку из VSTS. Когда я запускаю команду «dotnet.exe test» из командной строки, которая находится в папке тестового проекта, я могу запускать проекты.
Когда я изменяю путь для исключения «.», У меня все еще есть ошибка локально и на VSTS. Я обновил проект, чтобы отразить это. Ниже мое определение сборки:
- .NET Ядро - Восстановление
- Проект: **/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\1\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 Repo был обновлен
Я не могу воспроизвести эту проблему. (Шаг: 1. Создайте .Net Core Web API, 2. добавьте «MSTest.TestFramework»: «1.0.4-preview» и «dotnet-test-mstest»: «1.1.1-preview "3. Добавьте" testRunner ":" mstest "в project.json.) Вы можете попробовать выполнить тест с помощью этапа тестирования Visual Studio с помощью project.json и/UseVsixExtensions: true/logger: trx arguments. Https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/01/announcing-mstest-v2-framework-support-for-net-core-1-0-rtm/ Можете ли вы поделиться простым проектом, который может привести к этой проблеме на OneDrive.Пожалуйста, предоставьте подробный журнал сборки. –
Большое спасибо за вашу помощь. Я добавил пример проекта в git: https://github.com/JShewchuk/TestCommandReferenceTest Выход команды находится в readme.md. Также обратите внимание, что эта ошибка такая же, что и в VSTS. Спасибо –