You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止ReSharper修改团队共享的*.sln.DotSettings文件?

解决ReSharper修改共享*.sln.DotSettings文件的问题

问题背景

更新ReSharper后,它持续修改团队共享的*.sln.DotSettings文件,希望配置它改为修改GlobalSettingsStorage.DotSettings或.sln.DotSettings.user文件。相关触发的设置代码如下:

<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002EMemberReordering_002EMigrations_002ECSharpFileLayoutPatternRemoveIsAttributeUpgrade/@EntryIndexedValue">True</s:Boolean>

由于团队成员ReSharper版本不一致,无法采用提交更改的方案;手动将该行代码移至GlobalSettingsStorage.DotSettings和*.sln.DotSettings.user后,设置仍会自动回到共享文件中。当前设置层顺序从上到下为:

  • 个人
  • 团队共享
  • 本机

解决方案

  1. 锁定共享层的迁移设置项
    打开ReSharper设置界面(快捷键Alt+R, S),进入环境 > 设置管理,选中「团队共享」层并点击「编辑设置层」。在搜索框输入IsMigratorApplied找到对应迁移项,右键选择「锁定到当前层」,阻止ReSharper自动将该设置写入共享文件。

  2. 强制将迁移设置存入个人层
    在设置界面找到目标迁移项,点击设置项旁的层选择下拉菜单,直接选择「个人」层。保存设置后,该配置会写入解决方案级的.sln.DotSettings.user或全局的GlobalSettingsStorage.DotSettings(取决于你选择的是解决方案个人设置还是全局个人设置)。

  3. 调整设置层优先级(可选)
    若上述方法无效,可在「设置管理」中把「个人」层移到「团队共享」层上方。个人层优先级提升后,ReSharper会优先读取和写入个人层的配置,覆盖共享层的对应项。

附带问题解答:已应用的迁移是否需要针对每个解决方案单独应用?

迁移设置分为两类:

  • 全局迁移:基础类迁移项只需在全局设置层(本机/个人全局)配置一次,所有解决方案都会继承该设置。
  • 解决方案级迁移:和特定解决方案代码风格、结构绑定的迁移项,需要针对每个解决方案单独设置,这类配置默认存在解决方案级设置文件中。

你遇到的CSharpFileLayoutPatternRemoveIsAttributeUpgrade属于代码风格类迁移,可设置为全局生效,只需在GlobalSettingsStorage.DotSettings中配置一次,无需每个解决方案重复操作。

内容的提问来源于stack exchange,提问作者Yvain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 07:42:45