【问题标题】:Every test in project says "Excluded from Live Unit Testing"?项目中的每个测试都说“从实时单元测试中排除”?
【发布时间】:2018-08-24 13:19:51
【问题描述】:

我根据文档 https://docs.microsoft.com/en-us/visualstudio/test/live-unit-testing-faq?view=vs-2017 添加了测试适配器和框架包。

我在每个测试旁边看到“烧杯”符号\图标,但悬停表示它已从实时单元测试中排除。

测试都可以手动运行,我尝试右键单击并告诉它包含,但什么也没做。我这里没有代码手动排除任何东西......

.net 4.7.1 项目

编辑

有一个错误

[10:03:48.205 错误] [TestRunner 1] 发生异常时 调用执行程序'executor://mstestadapter/v2':无法加载文件 或程序集'System.Xml.ReaderWriter, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其之一 依赖关系。该系统找不到指定的文件。不能 加载文件或程序集 'System.Xml.ReaderWriter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其之一 依赖关系。系统找不到指定的文件。

这是一个 4.7.1 项目测试另一个基于 EFCore 的 4.7.1 项目。

【问题讨论】:

标签: visual-studio live-unit-tests


【解决方案1】:

我遇到了类似的错误,在“Live Unit Testing”类别的输出窗口中,我发现了以下错误:

FatalError - System.AggregateException: One or more errors occurred. ---> System.Exception: Could not load file or assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我下载了该 nuget 包的最新版本,但它没有帮助,我基本上不得不在配置文件中强制使用 4.0.0.0 版本,这没有多大意义,因为 dll 的实际版本是 4.1.2.0。无论如何,在那之后我停止并开始了 Live Unit Testing,现在它可以正常工作了。希望这会有所帮助。

<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.0.0.0" />

【讨论】:

    【解决方案2】:

    对于那些仍然遇到这个问题的人,为我解决的问题是:

    1. 关闭视觉工作室
    2. 在文件资源管理器中打开您的解决方案文件夹
    3. 删除 .vs 文件夹(这可能会根据您的设置隐藏)
    4. 重新打开解决方案并运行实时单元测试。

    这会破坏解决方案的一些本地设置,因此请注意这一点。默认启动项目、调试参数等会丢失。

    【讨论】:

      【解决方案3】:

      "Could not load file or assembly" 可能有不同的原因:错误的程序集引用或错误的程序集重定向。

      • 在第一种情况下,您可以添加程序集重定向(FabianVal 的回答)

      [0]https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

      • 在第二种情况下,您可以更正或删除重定向。我在update-package -reinstall 之后引入了错误的重定向,我不得不通过删除错误的重定向来重新编辑 csproj 文件。

      快速 grep 可能有助于找到罪魁祸首:get-childitem -recurse *csproj | select-string -patte rn "System.Runtime, Version=4.0.0.0"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-10
        • 1970-01-01
        • 2017-07-26
        • 2013-08-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多