Поделиться через


Часто задаваемые вопросы о Microsoft.Testing.Platform и расширениях

В этой статье содержатся ответы на часто задаваемые вопросы о Microsoft.Testing.Platform.

Microsoft.Testing.Platform.MSBuild

ошибка CS8892: метод "TestingPlatformEntryPoint.Main(string[])" не будет использоваться в качестве точки входа, так как найдена синхронная точка входа Program.Main(string[])".

При ручном определении точки входа (Main) в тестовом проекте или при ссылке на тестовый проект из приложения, которое уже имеет точку входа, это приводит к конфликту с создаваемой точкой входа Microsoft.Testing.Platform. Чтобы избежать этой проблемы, выполните одно из следующих действий:

  • Удалите определяемую вручную точку входа, обычно Main метод в Program.cs, и позвольте платформе тестирования создать её для вас.

  • Отключите создание точки входа, задав свойство <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint> MSBuild.

  • Полностью отключите транзитивную зависимость для Microsoft.Testing.Platform.MSBuild, задав свойство <IsTestingPlatformApplication>false</IsTestingPlatformApplication> MSBuild в проекте, который ссылается на тестовый проект. Это необходимо при ссылке на тестовый проект из проекта, отличного от тестового проекта, например консольного приложения, ссылающегося на тестовое приложение.

Microsoft.Testing.Extensions.Fakes

Ошибка Fakes: не удалось определить путь к профилировщику из значений переменных среды COR_PROFILER_PATH и COR_PROFILER.

Эта ошибка может возникать, если не все сборки Fakes присутствуют в папке bin.

  • Убедитесь, что проект использует MSTest.SDK или ссылается на Microsoft.Testing.Extensions.Fakes.
  • Для проектов .NET Framework не следует задавать <PlatformTarget>AnyCPU</PlatformTarget>, так как это приводит к тому, что NuGet не копирует все файлы в папку bin.