sln.DotSettings file using a layer gets changed when opening solution in VS2010


using VS2010 and ReSharper 6.1.1000.82 we created a Shared.DotSettings file which is added to the code repository and as a layer to a VS solution. The generated sln.DotSettings file contains the path to the solution in the two /Default/Environment/InjectedLayers/InjectedLayerCustomization lines. If we checkout the same solution to a different location the sln.DotSettings file is automatically changed with two additional lines containing the path of the new checkout directory. This happens when opening the solution in VS2010. Now the user has changes in the sln.DotSettings files. Is there a way to avoid these changes?

Best Regards,

Comment actions Permalink

Hello Helios
     In order to avoid this behavior you can save the shared settings directly in the <solution_name>.sln.DotSettings file (e.g. directly in the Team-Shared Layer) for each solution. That way, it won't depend on where the solution is actually located. Thank you!

Andrey Serebryansky

Senior Support Engineer

JetBrains, Inc

"Develop with pleasure!"

Comment actions Permalink
Hi Andrey - While this answer works for a single solution, it doesn't in a situation that has multiple solutions. As an example, my company develops a product that is segmented into 10 different solutions, each of them adhering to the same standard. Given your solution, I would have to duplicate the settings among all of those solutions. While this isn't difficult to do, we still run the risk of those solutions being out of sync. I know we can implement a solution where we don't check in the solution based DotSettings file, however that means I have to tell 80 developers to include the file for every solution they might open, and for every branch/version of the software...definitely not optimal.Is there a chance that you will be removing these path variables from the DotSettings file? I did notice that when I manually removed these two lines, Resharper continued to function as expected, so I'm not really sure what they are even for. I did notice for each developer that had their local workspace mapped differently than the DotSettings file expected, it created two more of which contained a "RelativePriority" that increments each time a new developer opens the solution:<s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File_003A_003AC_003A_005CMunis_005CProduction_005CV10_005CV10_002E2_005CV10_002E2SP_005CSource_005CIncludes_005CTeamReSharper_002EDotSettings/@KeyIndexDefined">True</s:Boolean> <s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File_003A_003AC_003A_005CMunis_005CProduction_005CV10_005CV10_002E2_005CV10_002E2SP_005CSource_005CIncludes_005CTeamReSharper_002EDotSettings/RelativePriority/@EntryValue">1</s:Double></wpf:ResourceDictionary>Thank you,Jason

Please sign in to leave a comment.