Resharper 2017无mspec相关命名风格选项,2017.3找不到对应受影响实体怎么办?
解决ReSharper 2017中MSpec命名风格选项缺失的问题
别着急,我来分享几个排查方向,都是我之前处理类似问题时验证过的有效步骤:
1. 先确认是否装对了插件
你提到重装了ReSharper Runner Plugin,但MSpec的命名风格支持其实依赖的是ReSharper MSpec核心插件(不是只装测试运行器就行)。你可以这么检查:
- 打开ReSharper菜单里的「Extensions」(扩展管理器)
- 切换到「已安装」标签,搜索「MSpec」,确认有没有「ReSharper.MSpec」这个插件且处于启用状态
- 如果没找到,去「Gallery」(插件库)标签搜索安装它,然后重启Visual Studio
2. 检查是否激活了MSpec的命名风格模式
ReSharper的命名规则有时候需要先关联对应框架的配置:
- 打开「Options->Code Editing->C#->Naming Style」
- 点击右上角的「Manage Styles」(管理风格)按钮
- 在弹出的窗口里,看看有没有「MSpec」相关的预设风格
- 如果没有,点击「Import」(导入)试试能不能加载MSpec的默认规则;或者手动新建一个风格,在「Affected Entities」(受影响实体)里选对应的MSpec类型,比如
It方法、Subject类这些
3. 重置ReSharper配置试试
有时候配置文件损坏会导致选项不显示:
- 打开ReSharper菜单,选「Manage Options」(管理选项)
- 点击「Reset All Settings」(重置所有设置),确认后重启VS
- 重新安装MSpec插件,再去检查命名风格选项
4. 确认版本兼容性
ReSharper 2017.3和你的Visual Studio版本(比如VS2015/2017)是否完全兼容?如果版本不匹配,插件功能可能会异常:
- 回忆下安装ReSharper时有没有兼容性提示,或者确认下你的VS版本在ReSharper 2017.3的支持范围内
- 可以尝试升级ReSharper到2017系列的最新补丁版,或者调整到和VS匹配的版本
5. 检查项目里的MSpec NuGet包
如果测试项目没正确引用MSpec的NuGet包,ReSharper可能识别不出MSpec的代码结构,自然不会显示对应的命名选项:
- 打开你的测试项目,确认已经安装了
Machine.SpecificationsNuGet包 - 清理并重建项目,再去看ReSharper的命名设置
要是以上步骤都试过还是不行,那大概率是ReSharper 2017的已知问题——不少用户反馈这个版本里MSpec的命名风格支持确实有缺失。这种情况下,升级到ReSharper 2018及以上版本会更稳妥,后续版本对MSpec的支持完善很多。
内容的提问来源于stack exchange,提问作者iHyperion
相关产品推荐
相关产品推荐

