Как запустить модульные тесты с .NET версии 4.6.2 в Visual Studio 2019? - PullRequest
4 голосов
/ 08 июня 2019

Я пытаюсь разрешить это предупреждение в модульных тестах в Visual Studio:

[07.06.2009 19:16:21 Предупреждение] При выполнении теста будут использоваться библиотеки DLL, созданные для Framework .NETFramework, версия = v4.5 и платформа X64. Следующий DLL не соответствуют настройкам фреймворка / платформы. MyProject.Tests.dll построен для Framework 4.6.2 и платформы AnyCPU. Идти к http://go.microsoft.com/fwlink/?LinkID=236877&clcid=0x409 для более подробности об управлении этими настройками.

Я знаю, что мне нужно обновить файл runsettings с версией targetframework, соответствующей структуре проекта модульного тестирования (4.6.2). Я просто не могу понять, что такое волшебная нить.

Вот отправная точка:

<!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <ResultsDirectory>.\TestResults</ResultsDirectory>

    <!-- [x86] | x64  
      - You can also change it from menu Test, Test Settings, Default Processor Architecture -->
    <TargetPlatform>x64</TargetPlatform>

    <!-- Framework35 | [Framework40] | Framework45 -->
    <TargetFrameworkVersion>Framework45</TargetFrameworkVersion> 
    <!--
    TargetFrameworkVersion needs to be updated, but documentation is unclear on how
    cf. https://github.com/Microsoft/vstest-docs/issues/163
    <TargetFrameworkVersion>.NETFramework,Version=v4.6.2</TargetFrameworkVersion>
    -->     
  </RunConfiguration>

Каждое значение, которое я могу найти, приводит к следующему исключению:

[07.06.2009 20:34:20 PM Error] Не удалось настроить параметры для плагина runsettings «VSTest Run Configuration», поскольку он вызвал следующее исключение: «Произошла ошибка при загрузке настроек. Ошибка: неверный параметр «RunConfiguration». Неверное значение 'net462' указано для 'TargetFrameworkVersion' .. ' Пожалуйста, свяжитесь с автором плагина.

[07.06.2009 20:34:20 PM Diagnostic] Генерировать исключение параметров запуска теста: System.Xml.XmlException: при загрузке параметров произошла ошибка. Ошибка: неверный параметр «RunConfiguration». Для TargetFrameworkVersion указано недопустимое значение 'net462'. в Microsoft.VisualStudio.TestWindow.VSTest.TestRunSettingsService.ValidateRunConfigurationSettings (XPathNavigator runSettingsNavigator) в Microsoft.VisualStudio.TestWindow.VSTest.TestRunSettingsService.MergeRunSettingsAndFindCompatibleSources (Архитектура и платформа, FrameworkVersion & framework, String ResultsDirectory, String solutionDirectory, IDictionary`2 sourceSettings, IXPathNavigableSigningSigningSigningSigningSigningSigningSigningSigningSigningSigningSigning в Microsoft.VisualStudio.TestWindow.VSTest.TestRunSettingsService.AddRunSettings (IXPathNavigable inputRunSettingDocument, IRunSettingsConfigurationInfo configurationInfo, журнал ILogger) в Microsoft.VisualStudio.TestWindow.Controller.Request.GenerateTestRunSettings (RunSettingConfigurationInfoState infoState)

значения, которые я пробовал:

  • .NETFramework, Version = v4.6
  • .NETFramework, Version = v4.6.2
  • v4.6.2
  • net46
  • net462
  • Framework46

Похожие:

1 Ответ

0 голосов
/ 20 июня 2019

Я просто удалил "TargetFrameworkVersion", и в моем случае это сработало. Я предполагаю, что Visual Studio автоматически выбирает правильную структуру, если это поле не указано.

<!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <ResultsDirectory>.\TestResults</ResultsDirectory>

    <!-- [x86] | x64  
      - You can also change it from menu Test, Test Settings, Default Processor Architecture -->
    <TargetPlatform>x64</TargetPlatform>

  </RunConfiguration>
...