共用方式為


Microsoft.Testing.Platform 和擴充功能常見問題

本文包含有關 Microsoft.Testing.Platform常見問題的解答。

Microsoft.Testing.Platform.MSBuild

錯誤 CS8892:方法 'TestingPlatformEntryPoint.Main(string[])' 不會被用作進入點,因為已經找到同步進入點 'Program.Main(string[])'。

在測試專案中手動定義進入點(Main),或從已經有進入點的應用程式參考測試專案,會導致與 Microsoft.Testing.Platform所產生的進入點發生衝突。 若要避免此問題,請採取下列其中一個步驟:

  • 請移除您手動定義的程式進入點,通常是位於 Program.cs 的中的 Main 方法,並讓測試平臺自動為您產生一個。

  • 藉由設定 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint> MSBuild 屬性來停用進入點的產生。

  • 在參考測試專案的項目中設定 <IsTestingPlatformApplication>false</IsTestingPlatformApplication> MSBuild 屬性,以完全停用 Microsoft.Testing.Platform.MSBuild 的可轉移相依性。 當您從非測試專案參考測試專案時,這是必要的,例如一個參考測試應用程式的主控台應用程式。

Microsoft.Testing.Extensions.Fakes

Fakes 錯誤 無法解決來自 COR_PROFILER_PATH 和 COR_PROFILER 環境變數的分析器路徑。

如果 bin 資料夾中沒有所有 Fakes 元件,就可能發生此錯誤。

  • 請確定專案使用 MSTest.SDK,或參考 Microsoft.Testing.Extensions.Fakes
  • 針對 .NET Framework 專案,請避免設定 <PlatformTarget>AnyCPU</PlatformTarget>,因為這樣會導致 NuGet 不會將所有檔案複製到 bin 資料夾。