我们的项目组织在一个主解决方案(包含每个项目)和多个包含相关项目分组的较小解决方案中.

我希望在每个解决方案中共享相同的Resharper设置,确保开发人员不需要在Resharper中导入配置文件或手动执行任何操作.我们使用的版本是最新的7.0.1版本之一.TFS中签入的DotSettings文件在单个解决方案上非常有效,但在20-30个解决方案中复制同一文件是不可能的.

有没有一种方法可以与整个团队中的每个项目/解决方案共享相同的配置,而不需要开发人员明确地进行配置?理想情况下,应该可以更改到的路径.每个解决方案的DotSettings文件,以便在.DotSettings文件经过编辑,它会自动影响团队中的每个解决方案.

Update:

我对此进行了一些搜索,并try 了两种不同的方法,但都没有100%有效:

  • Hardlinks使用mklink tool可以在本地完美工作,但TFS不支持它们
  • 正常的快捷方式也是一个合理的解决方案,但ReSharper不会阅读它们

我别无 Select 了.

Update 2:

丹尼尔·希尔加思(Daniel Hilgarth)提出的解决方案非常有效,但前提是更新Resharper.一个导致错误的错误.要在每台机器上自动签出和编辑的DotSettings文件在7.1版本中得到了更正.我在升级软件之前和之后都进行了测试,现在它可以像我预期的那样工作了.

有关该漏洞的更多信息,请参见:

http://youtrack.jetbrains.com/issue/RSRP-288235

推荐答案

Resharper支持选项分层.

你可以这样使用它:

  1. 有一个包含所有设置的DotSettings文件.
  2. For each solution perform these steps:
    1. ReSharper -> Manage Options
    2. 右键单击"解决方案‘您的解决方案’团队共享"
    3. Select Add Layer -> Open Settings File
    4. Select 中央DotSettings文件

这将 for each 解决方案创建一个DotSettings文件.您需要将这些文件与中央DotSettings文件一起签入TFS.
重要提示:解决方案的DotSettings文件只包含到中心文件的链接,它们不会复制设置.

.net相关问答推荐

DotNet COM初始化问题

跨请求共享数据

NuGet 兼容与计算框架(Xamarin 和 .NET 6)

.net Maui 在单击按钮时访问 CollectionView 中的数据项

F#:跨度、提升和底部类型(或缺乏)

代码访问安全是否在任何现实世界中使用?

既然 .NET 有一个垃圾收集器,为什么我们需要终结器/析构器/dispose-pattern?

如何使用 C# 关键字作为属性名称?

将毫秒转换为人类可读的时间间隔

如何摆脱 VS2008 中的目标程序集不包含服务类型错误消息?

每第 N 个字符/数字拆分一个字符串/数字?

序列化私有成员数据

如何将 UI Dispatcher 传递给 ViewModel

什么是 SUT,它来自哪里?

String.Format - 它是如何工作的以及如何实现自定义格式字符串

如何将 System.Type 转换为其可为空的版本?

一个接口是否应该继承另一个接口

将日期时间转换为时间跨度

如何获取当前的 ProcessID?

如何在不使用 3rd 方库的情况下登录 C#?