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.