如何在锐化点设置图层中使用相对路径



我们希望在几个解决方案之间共享.DotSettings。目标是拥有一个我们引用为我们所有X.sln.Dotsettings中的图层的CodeStyle.DotSettings 。但是,当我添加图层时,我看到了意外的行为。

我转到"管理选项",右键单击"解决方案X团队共享"->"添加图层"->"打开设置文件",选择CodeStyle.DotSettings然后单击"打开"。

然后我检查X.sln.DotSettings,并看到两个引用,一个使用绝对路径,另一个使用相对路径:

<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=3BE2D8150433584697322AAD3C173856/AbsolutePath/@EntryValue">C:pathtomyrepoCodeStyle.DotSettings</s:String> <s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=3BE2D8150433584697322AAD3C173856/RelativePath/@EntryValue">..CodeStyle.DotSettings</s:String>

签入本地存储库的绝对路径是没有意义的,所以我尝试从X.DotSettings中删除该行,但它不再显示在"设置层"对话框中。相对路径的前导点似乎可疑,所以我尝试从中删除..,但它仍然没有显示在"设置层"中。

我做错了什么?

我们正在使用 ReSharper 8.2.3

请参阅 JetBrains 跟踪器中的相应问题:RSRP-339002。

不要删除任何内容:ReSharper 尝试从两个路径加载文件,所以你应该没问题。在过去的两年里,我一直在使用类似的设置(多个解决方案之间的共享和版本化的 DotSettings),没有问题。

您无法删除绝对路径:它用作键。您仍然可以为该问题投票。我个人不喜欢在源代码管理文件中拥有绝对路径,即使在这种情况下它没有害处。

关于额外的前导..,我观察到相同的行为。我不知道为什么;也许路径相对于缓存文件夹而不是解决方案文件夹?无论如何,它绝对是需要的。

R# 保留绝对路径和相对路径,以适应使用注入的文件层的所有方案。相对路径适用于源代码管理托管的解决方案,其中注入的层文件也签入到同一源代码管理中。绝对路径用于从外部资源注入文件,例如计算机上的全局路径,或者在受源代码管理的解决方案的情况下注入网络共享。

绝对路径目前是必需的。主要是出于历史原因。这可能可以更改为"需要其中任何一个"。

相对路径相对于注入它的主机层的磁盘文件。在您的情况下,它是.sln.DotSettings文件。为什么,它应该是它的文件夹,但我在实现它时错过了.Parent的事情!而且它在测试或测试程序中没有浮出水面。就像,它适用于相对路径,直到现在还没有人费心计算双点 %-)

最新更新