Часто задаваемые вопросы о 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.