【问题标题】:ReSharper: "The build could not be started. There are multiple projects in the solution at..."ReSharper:“无法开始构建。解决方案中有多个项目...”
【发布时间】:2014-10-28 04:59:02
【问题描述】:

尝试使用 ReSharper 运行 NUnit 测试时,对话框中出现以下消息,并且测试未运行:

The build could not be started. There are multiple projects in the solution at... <name of the csproj file>

Resharper 8.2.1 有这个问题 我的解决方案中有几个项目。大多数项目都是类库。其中一个项目是网站(不完全是项目)。另一种是Web 应用程序。网站和 Web 应用程序项目位于同一目录中。该网站设置为仅在发布版本中构建。

当我尝试在这个项目中运行一些嵌入式测试时,我只在 Web 应用程序项目中遇到这个问题。我在其他(类库)项目中没有这个问题。

问题出在 JetBrains 的错误跟踪器中,但已关闭:https://youtrack.jetbrains.com/issue/RSRP-328627

也许有一些解决方法?

更新: 当我在网站上“Project -> Unload Project”时,问题就消失了

【问题讨论】:

  • 您为什么要使用网站?这些很奇怪,ReSharper 遇到问题并不让我感到惊讶。许多工具都可以。例如,您知道网站实际上并没有构建,对吧?
  • @JohnSaunders,因为我以这种方式从以前的开发人员那里继承了该项目。我怀疑我能轻易改变它。网站项目是 DotNetNuke CMS 安装的副本,我们的扩展在单独的项目中实现。
  • 祝你好运。毫无疑问,这就是 R# 问题的原因。
  • 重启VS帮了我
  • 我有 R# 9.1.1 并且单元测试也有同样的问题。一个客户正在使用 Kentico CMS,它做的事情完全相同。它有一个网站和一个 MVC 项目都在同一个目录中。在网站上使用项目 -> 卸载项目确实允许您从解决方案中正确运行单元测试。

标签: c# unit-testing nunit resharper


【解决方案1】:

我遇到了同样的问题(8.2 也一样),在通过菜单 Resharper > Unit Tests > Run All Tests from Solution 运行我的测试时至少出现同样的错误。但我发现了以下解决方法:

右键单击您的单元测试项目并选择运行单元测试。这将开始运行项目中的所有测试(从 resharper 界面)

或者,您可以将单元测试解决方案设置为启动项目,然后从 Resharper 菜单中选择 > 单元测试 > 运行单元测试

当然你必须对每个有单元测试的项目都这样做,但我想这是可以接受的。

备注:好像是8.2版本的已知bughttps://youtrack.jetbrains.com/issue/RSRP-411631 而回滚到 8.1 可以解决问题

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    在我的例子中,这是在 Visual Studio 中运行性能分析(即分析)之后发生的。

    根据 here 的记录,解决方案是从 .sln 文件中删除这些行:

    GlobalSection(Performance) = preSolution
        HasPerformanceSessions = true
    EndGlobalSection}
    

    【讨论】:

      【解决方案3】:

      检查您的解决方案文件是否有任何更改。我在源代码控制分支更改后遇到了这个问题,当时 Visual Studio 保留了前一个分支的一堆更改。不确定到底是什么原因,但恢复对我的 sln 文件的更改解决了这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-07
        • 2021-05-25
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多