Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VS 2015 RTM - csproj xml node Project\ProjectExtensions\VisualStudio\UserProperties attribute order differs based on machine that saves file #123

Closed
davkean opened this issue May 13, 2016 · 3 comments
Assignees
Labels
Feature-Project-File-Simplification Related to cleaning up and simplification of the project format. Resolution-Fixed The bug has been fixed, refer to the milestone to see in which release it was fixed. Triage-Approved Reviewed and prioritized
Milestone

Comments

@davkean
Copy link
Member

davkean commented May 13, 2016

From @bbarry on November 4, 2015 18:21

When 2 or more people make changes to a project that has multiple properties stored on the UserProperties tag, the order of the properties on the attribute appears to depend on order that code runs to set the attributes.

I have several csproj files with

<ProjectExtensions>
  <VisualStudio>
    <UserProperties 
      PingPoet_SlashDocs_DocCommentIncludeFileBasePath="...removed..." 
      PingPoet_SlashDocs_SlashDocPathReplacePattern="...removed..." 
      PingPoet_SlashDocs_SlashDocPathMatchPattern="^...removed...$" />
  </VisualStudio>
</ProjectExtensions>

(the node is on one line).

With the project file in source control and multiple developers, this line changes every time a dev makes any change to the file. This results in merge conflicts very often as in this case there are 6 possible ways to have that line.

Copied from original issue: dotnet/roslyn#6556

@Eli-Black-Work
Copy link

We're also seeing this in Visual Studio 2017.

@davkean davkean added this to the 16.5 milestone Jan 28, 2020
@davkean
Copy link
Member Author

davkean commented Jan 28, 2020

We have fixed this in the new project system and now persist in machine agnostic order, existing projects will benefit from this when the new project system starts opening .NET Framework-based projects in the future.

Microsofties, PR is here: https://devdiv.visualstudio.com/DevDiv/_git/CPS/pullrequest/225250.

@davkean davkean added Triage-Approved Reviewed and prioritized Feature-Project-File-Simplification Related to cleaning up and simplification of the project format. labels Jan 28, 2020
@davkean
Copy link
Member Author

davkean commented Jan 29, 2020

This fix has been merged. Make explicit note that existing .NET Framework projects will not benefit until they are opened in the new project system, something that is planned but we have no date.

@davkean davkean closed this as completed Jan 29, 2020
@davkean davkean added the Resolution-Fixed The bug has been fixed, refer to the milestone to see in which release it was fixed. label Jan 29, 2020
eric62369 pushed a commit to eric62369/project-system that referenced this issue Jul 10, 2020
…608.1 (dotnet#123)

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19308.1
@drewnoakes drewnoakes removed the Bug label Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature-Project-File-Simplification Related to cleaning up and simplification of the project format. Resolution-Fixed The bug has been fixed, refer to the milestone to see in which release it was fixed. Triage-Approved Reviewed and prioritized
Projects
None yet
Development

No branches or pull requests

5 participants