Почему Visual Studio 2019 запускает тесты в dotnet core 1.0, хотя мои проекты ориентированы на dotnet core 2.2? - PullRequest
3 голосов
/ 29 мая 2019

У меня есть решение с 2 проектами, один из которых - тестовый проект. Оба проекта нацелены на ядро ​​dotnet 2.2:

<TargetFramework>netcoreapp2.2</TargetFramework>

Я использую Visual Studio 2019 (версия 16.1.1). Когда я нажимаю «Выполнить все» в тестовом проводнике, он выводит это предупреждение в окне вывода:

[5/28/2019 10:25:40 PM Informational] ------ Run test started ------
[5/28/2019 10:25:40 PM Warning] Test run will use DLL(s) built for framework .NETCoreApp,Version=v1.0 and platform X64. Following DLL(s) do not match framework/platform settings.
MyApp.UnitTests.dll is built for Framework 2.2 and Platform AnyCPU.
Go to http://go.microsoft.com/fwlink/?LinkID=236877&clcid=0x409 for more details on managing these settings.

[5/28/2019 10:25:41 PM Informational] ========== Run test finished: 3 run (0:00:01.167997) ==========

Тесты выполняются и успешно завершаются. Но мне интересно, как избавиться от этого предупреждения.

Я добавил файл .runsettings со следующими настройками, но все равно вижу то же предупреждение.

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <TargetFrameworkVersion>FrameworkCore10</TargetFrameworkVersion>
  </RunConfiguration>
</RunSettings>

Изменение FrameworkCore10 на FrameworkCore22 (или netcoreapp2.2) вызывает огромное исключение. Лучшие несколько строк исключения:

[5/28/2019 10:41:30 PM Error] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.TestWindow.Controller.RequestConfiguration.GroupTestContainersConfigByFrameworkAndArchitecture(IEnumerable`1 testContainersConfig, IXPathNavigable runSetting)
   at Microsoft.VisualStudio.TestWindow.Controller.TestRunConfiguration.<GetAllCriteriaQueues>d__64.MoveNext()
   at Microsoft.VisualStudio.TestWindow.Controller.TestRunRequest.<CreateRequests>d__23.MoveNext()
   at Microsoft.VisualStudio.TestWindow.Controller.Request.<RunRequests>d__95.MoveNext()
   --- End of inner exception stack trace ---

Обратите внимание, что те же проекты прекрасно работают в Visual Studio 2017, без необходимости какого-либо файла runsettings.

Ответы [ 2 ]

4 голосов
/ 13 июня 2019

Это не ответ, а публикация, чтобы помочь другим приземлиться здесь.

Команда Visual Studio признала проблему и пытается исправить ее.Лучше всего следить за этим здесь:

0 голосов
/ 29 мая 2019

Это может быть 2.2 dot net framework на этом компьютере.

Вот Ссылка , вы можете скачать фреймворк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...