Udostępnij za pośrednictwem


Microsoft.Testing.Platform i rozszerzenia — często zadawane pytania

Ten artykuł zawiera odpowiedzi na często zadawane pytania dotyczące Microsoft.Testing.Platform.

Microsoft.Testing.Platform.MSBuild

błąd CS8892: Metoda 'TestingPlatformEntryPoint.Main(string[])' nie będzie używana jako punkt wejścia, ponieważ znaleziono synchroniczny punkt wejścia 'Program.Main(string[])'

Ręczne definiowanie punktu wejścia (Main) w projekcie testowym lub odwoływanie się do projektu testowego z aplikacji, która ma już punkt wejścia, powoduje konflikt z punktem wejścia wygenerowanym przez Microsoft.Testing.Platform. Aby uniknąć tego problemu, wykonaj jedną z następujących czynności:

  • Usuń ręcznie zdefiniowany punkt wejścia, zazwyczaj metodę Main w pliku Program.cs, i pozwól, aby platforma testowa wygenerowała go za Ciebie.

  • Wyłącz generowanie punktu wejścia, ustawiając właściwość <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint> MSBuild.

  • Aby całkowicie wyłączyć zależność przechodnią do Microsoft.Testing.Platform.MSBuild, ustaw właściwość <IsTestingPlatformApplication>false</IsTestingPlatformApplication> MSBuild w projekcie, który odwołuje się do projektu testowego. Jest to konieczne, gdy odwołujesz się do projektu testowego z projektu nietestowego, na przykład aplikacji konsolowej, która odwołuje się do aplikacji testowej.

Microsoft.Testing.Extensions.Fakes

Nie udało się ustalić ścieżki profilera z zmiennych środowiskowych COR_PROFILER_PATH i COR_PROFILER.

Ten błąd może wystąpić, jeśli nie wszystkie zestawy Fakes są obecne w folderze bin.

  • Upewnij się, że projekt używa MSTest.SDK lub odwołań Microsoft.Testing.Extensions.Fakes.
  • W przypadku projektów programu .NET Framework należy unikać ustawiania <PlatformTarget>AnyCPU</PlatformTarget>, ponieważ powoduje to, że program NuGet nie kopiuje wszystkich plików do folderu bin.