VSTest.Console.exe 无法加载文件或程序集 Microsoft.TestPlatform.CoreUtilities

VSTest.Console.exe Could not load file or assembly Microsoft.TestPlatform.CoreUtilities

我正在尝试使用最新版本 Visual Studio,2022 建立一个 C# 项目;这是 Windows 10 上的 .Net 6。这是一个简单的控制台程序,我基本上按照 https://docs.microsoft.com/en-us/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-managed-code?view=vs-2022 中描述的步骤设置了项目和相应的单元测试项目,所以我得到了与该教程项目同构的东西。

当 Visual Studio 中的 运行 时,单元测试工作正常。

现在我也想从命令行 运行 它们。

vstest.console bin\Debug\net6.0\foo.dll

给予

Testhost process exited with error: Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.TestPlatform.CoreUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. File name: 'Microsoft.TestPlatform.CoreUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at Microsoft.VisualStudio.TestPlatform.TestHost.Program.Main(String[] args) . Please check the diagnostic logs for more information.

看起来工具链找不到它自己的库之一?我需要指定一些选项吗?

确保 foo.dll 是包含测试和参考的项目 MSTest.TestFramework 如果您遵循约定命名,这应该是 fooTests.dll

vstest.console bin\Debug\net6.0\fooTests.dll

example you mention下面这行会抛出错误

vstest.console ..\BankTests\bin\Debug\net6.0\Bank.dll

虽然这会 运行 通常

vstest.console ..\BankTests\bin\Debug\net6.0\BankTests.dll