1

我知道如何将 MSpec 与 R# 集成,我知道“阻塞的 DLL”问题。但我仍然无法弄清楚为什么我的测试不被识别。不过,我正在以一种不寻常的方式集成 MSpec。我不使用 NuGet。我有旧的 MSpec 版本 - 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# 是否有任何日志记录,我可以在其中看到它与插件的通信?

4

3 回答 3

1

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

于 2013-09-04T13:05:23.707 回答
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>
于 2013-09-05T06:41:59.987 回答
0

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

在 VS 中,转到:

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

并搜索/安装“ReSharper 的 Machine.Specifications”

于 2020-05-21T22:20:33.910 回答