为什么ReSharper无法识别我的MSpec规范?

时间:2013-09-04 05:30:01

标签: unit-testing resharper mspec

我知道如何将MSpec与R#集成,我知道“阻止的DLL”问题。但我仍然无法弄清楚为什么我的测试无法识别。我正以不寻常的方式整合MSpec。我不使用NuGet。我有旧的MSpec build - 0.4.9 - 我的测试是为其构建的。我手动为R#创建Plugins文件夹,并将以下DLL放在那里:

  • Machine.Specifications.dll 0.4.9
  • Machine.Specifications.ReSharperRunner.6.1.dll 0.5.0(由GitHub源构建)

启动VS并打开R#的选项对话框后,跑步者将显示在插件部分中。但我的测试无法识别。版本不匹配可能是个问题吗? R#是否有任何日志记录,我可以看到它与插件的通信?

3 个答案:

答案 0 :(得分:1)

您是否尝试从NuGet下载0.4.9二进制文件并使用此版本中的ReSharper运行程序?当前来源不再支持这些旧版本。

答案 1 :(得分:0)

我终于把它整理出来了。我必须按照此处所述调试跑步者 - https://github.com/machine/machine.specifications/blob/master/debugging-resharper.txt。我发现跑步者是为ReSharper 6.1.37.86而制作的,这不是最新的6.1版本,列表在这里 - http://resharper-support.jetbrains.com/entries/21206508-Where-can-I-download-an-old-previous-ReSharper-version-。最新的6.1版本是6.1.1000.82,它安装在我的机器上。因此,跑步者在启动期间无法找到所需的ReSharper组件。我通过将程序集重定向添加到devenv的配置文件中来解决问题。转轮所依赖的所有ReSharper文件都需要重定向,总共有16个。示例重定向是:

<dependentAssembly>
  <assemblyIdentity name="JetBrains.Platform.ReSharper.ComponentModel" publicKeyToken="1010a0d8d6380325" culture="neutral"/>
  <bindingRedirect oldVersion="6.1.37.86" newVersion="6.1.1000.82"/>
</dependentAssembly>

答案 2 :(得分:0)

对于使用Visual Studio 2019 / Resharper 2019.3.4+设置遇到此问题的任何人,有效的方法是使用Resharper的内置扩展管理器。

在VS中,转到:

扩展-> ReSharper->扩展管理器

并搜索/安装“ Machine.Spec for ReSharper”