Reporter | Tim Herby (Tim.Herby) |
---|---|
Created | Feb 10, 2012 12:23:00 AM |
Updated | Feb 10, 2012 12:23:00 AM |
Priority | Normal |
Type | Bug |
Fix versions | No Fix versions |
State | Submitted |
Assignee | Unassigned |
Subsystem | Options |
Affected versions | 6.1 |
Fixed in build | No Fixed in build |
The scenario I'm going for is to check in a Solution.sln.DotSettings file that will point to a central settings file. This allows a single set of settings to be shared across team members in a multi-solution environment. This works ok, but has one flaw.
After adding a Settings File to my Solution team-shared settings, the contents of the Solution.sln.DotSettings is:
As you can see, the absolute path is still there, even relative path should be enough. That's not a big problem since it is ignored if it doesn't exist, and the relative one is used. The big problem is that each time the settings file is loaded in a different enlistment (on my computer or someone else's), another "InjectedLayerCustomization" element is added that includes the full path in the enlistment.
This issue is also mentioned in this thread:
http://devnet.jetbrains.net/thread/433482
Not checking-in the solution file, and asking everyone to manually add the extra layer to their machine is not an option as they will also be editing other solutions that do not share these settings, so we want to use the auto-loading per solution mechanism.
Thanks.
After adding a Settings File to my Solution team-shared settings, the contents of the Solution.sln.DotSettings is:
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=75EE3B69151B364CBF39E04F829ABD66/AbsolutePath/@EntryValue">C:\source\Main\Tools\Resharper\TeamSettings.DotSettings</s:String> <s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=75EE3B69151B364CBF39E04F829ABD66/RelativePath/@EntryValue">..\..\Tools\Resharper\Settings\TeamSettings.DotSettings</s:String> <s:Boolean x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=75EE3B69151B364CBF39E04F829ABD66/@KeyIndexDefined">True</s:Boolean> <s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File_003A_003AC_003A_005CSource_005CMain2_005CTools_005CResharper_005CSettings_005CTeamSettings_002EDotSettings/@KeyIndexDefined">True</s:Boolean> <s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File_003A_003AC_003A_005Csource_005CMain_005CTools_005CResharper_005CSettings_005CTeamSettings_002EDotSettings/@KeyIndexDefined">True</s:Boolean> <s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File_003A_003AC_003A_005CSource_005CMain2_005CTools_005CResharper_005CSettings_005CTeamSettings_002EDotSettings/RelativePriority/@EntryValue">1</s:Double> <s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File_003A_003AC_003A_005Csource_005CMain_005CTools_005CResharper_005CSettings_005CTeamSettings_002EDotSettings/RelativePriority/@EntryValue">2</s:Double></wpf:ResourceDictionary>
As you can see, the absolute path is still there, even relative path should be enough. That's not a big problem since it is ignored if it doesn't exist, and the relative one is used. The big problem is that each time the settings file is loaded in a different enlistment (on my computer or someone else's), another "InjectedLayerCustomization" element is added that includes the full path in the enlistment.
This issue is also mentioned in this thread:
http://devnet.jetbrains.net/thread/433482
Not checking-in the solution file, and asking everyone to manually add the extra layer to their machine is not an option as they will also be editing other solutions that do not share these settings, so we want to use the auto-loading per solution mechanism.
Thanks.