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 資料夾。