我已经搜索了高低,找不到这个异常的答案。这个问题是我搜索时出现的主要问题,但它没有解决这个问题。
[7/8/2018 6:22:22 PM Informational] Executing test method 'CoreScraper.FlyerScraper.GetAllCurrentFlyers'
[7/8/2018 6:22:22 PM Error] System.InvalidOperationException: The following TestContainer was not found 'C:UsersUsernameDocumentsVisual Studio 2017ProjectsProductAppCoreScraperbinDebugnetcoreapp2.0CoreScraper.dll'
at Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider.<GetTestContainerAsync>d__61.MoveNext()
"CoreScraper"是该项目的名称。当我查看那个...netcoreapp2.0
文件夹时,CoreScraper.dll肯定在那里。我正在通过右键单击测试方法并选择"运行测试"来运行测试。测试在我第一次运行时运行良好,但从那以后它给了我这个错误。我已经关闭了Visual Studio并重新打开,删除了bin
的内容,清理并重建了项目等。
什么对我有用:
删除文件夹中.vs
文件夹。
但是您仍然无法删除该文件夹?
可能是因为实时单元测试,testhost.exe
或testhost.x86.exe
过程是原因。
问题是未安装 NuGet 包Microsoft.NET.Test.Sdk
。通过 NuGet 包管理器在项目中安装此包解决了该问题。
这对我来说并不直观,因为我有另一个单元测试项目,在没有Microsoft.NET.Test.Sdk
包的情况下运行良好,但该项目是 .NET Framework 4.6.2。
今天,我在Visual Studio 2017 for xUnit Tests中遇到了类似的问题。 我的观察:
- 在发布/调试模式之间切换时出现问题。
- 解决方案:重新启动Visual Studio,它解决了问题。
注意经过一些Google/Bing之后,我发现每个人都通过安装一些软件包来获得解决方案。但是,就我而言,之前一切正常,因此决定不安装任何其他内容。
希望对您有所帮助。
正如@Marathon55所说,安装Microsoft.NET.Test.Sdk
解决了问题,但就我而言,我必须再安装 2 个软件包MSTest.TestFramework
&MSTest.TestAdapter
可能会帮助某人。
我正在运行VS2019版本16.7.2。 我通过删除隐藏的测试存储文件夹(".vs[解决方案名称]\v16\TestStore")解决了我的问题。切换分支时,似乎存在于另一个分支中的单元测试项目缓存在该 TestStore 文件夹中。
我不知道这是否对任何人有帮助,但我在尝试针对 .net Standard 的 Specflow 项目中遇到了这个问题。最后,解决此问题的唯一方法是以 .net Core 为目标。
这就是我的情况。
- 我的视觉工作室解决方案有 9 个项目
- 我从解决方案中删除了一个测试项目,但仍保留在磁盘上
- 从磁盘中删除上述测试项目
- Visual Studio 的测试资源管理器仍然显示已删除项目中的测试,但无法运行它们(因此显示 OP 提到的错误)
- 删除
.vs
文件夹最终删除了旧项目的所有引用。现在,测试资源管理器显示预期的测试数。
当我将新测试项目添加为"类库"项目而不是"单元测试项目"时,我遇到了这个问题。它找到了我的测试,但无法运行它们。
通过删除类库项目并使用新的单元测试项目重新开始来修复它。
我遇到了这个问题。我尝试了这个问题中发布的所有答案。在我的实例中,出了什么问题 - 有人错误地修改app.config
文件。结果,该文件在其中获得了一个新的配置部分,但没有定义此部分。
缺少<configSections></configSections>
虽然有<someConfigSection . . . . />
我只是修复了app.config
,测试开始工作。 这是最初建议的来源,即app.config
可能是此问题的罪魁祸首
我使用的是.NET Framework v4.6.1,而不是.NET Core,但我也遇到了这个完全相同的错误。我遵循了上面男人/女孩提供的步骤的组合。
- 安装 MSTest.TestAdapter NuGet 包
- 安装 MSTest.TestFramework NuGet 包
- 安装 Microsoft.NET.Test.Sdk NuGet 包(可能不需要??不确定)
- 关闭 VS 2019 的所有正在运行的实例并删除 VS/文件夹
- 重新开放VS 2019
- 重新生成测试项目
。然后它就奏效了。希望这对某人有所帮助!
我在.NET Core项目中遇到了同样的问题。以下是解决方法:
- 创建空文件夹(所需的任何名称)
- 运行命令">dotnet new mstest"。 此命令创建一个单元测试项目,其中包含所有必需的 nuget 包! 然后你可以检查.csproj文件,这里是:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>my_project_unittest</RootNamespace>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0">
<PackageReference Include="MSTest.TestAdapter" Version="2.1.0" />
<PackageReference Include="MSTest.TestFramework" Version="2.1.0" />
<PackageReference Include="coverlet.collector" Version="1.2.0" />
</ItemGroup>
</Project>
就我而言,我弄乱了测试项目,并在某个时候决定将配置从:
<Project Sdk="Microsoft.NET.Sdk">
自
<Project Sdk="Microsoft.NET.Sdk.Web">
但后来撤消了更改.. :)
然后我和这里的每个人都面临着同样的问题。在进行了无数次重建,禁用锐化器,清理缓存,文件夹,降级包,删除包等之后。- 我决定创建一个新的测试项目并比较配置(令人惊讶的是,新项目的测试在调试模式下工作)!
长话短说 - 检查Properties
文件夹。测试项目不应该有这样的文件夹!该文件夹可能是在我之前更改 SDK 版本时创建的。
删除此文件夹并重建项目后,我终于能够调试测试了!没有其他解决方案有效。
我在使用 .Net Core 运行 MSTest 测试项目时遇到了这个问题。就我而言,问题与Microsoft.NET.Test.Sdk最新版本(17.4.0)有关。将版本降级到以前的稳定版(17.3.2)解决了我的问题。