Visual studio 为什么在VisualStudio中添加解决方案文件夹会更改项目文件,有什么方法可以防止这种情况发生?
我正在向项目的主要git存储库中的许多解决方案添加一个测试项目 在这个过程中,我注意到将“解决方案文件夹”添加到.sln文件会修改解决方案中的许多项目。我想不出有什么合乎逻辑的理由会出现这种情况。在添加测试项目之前,我只讨论添加解决方案文件 解决方案中的所有项目都是C#项目,如果这有什么区别的话 有人知道为什么会这样吗。这是预期的行为,还是一个bug?还有,有没有办法防止这种情况发生 下面的两幅图突出了我所说的行为: 在添加新的解决方案文件夹之前: 添加新解决方案文件夹后: 据我所知,这些变化毫无意义:Visual studio 为什么在VisualStudio中添加解决方案文件夹会更改项目文件,有什么方法可以防止这种情况发生?,visual-studio,project-files,solution-folders,Visual Studio,Project Files,Solution Folders,我正在向项目的主要git存储库中的许多解决方案添加一个测试项目 在这个过程中,我注意到将“解决方案文件夹”添加到.sln文件会修改解决方案中的许多项目。我想不出有什么合乎逻辑的理由会出现这种情况。在添加测试项目之前,我只讨论添加解决方案文件 解决方案中的所有项目都是C#项目,如果这有什么区别的话 有人知道为什么会这样吗。这是预期的行为,还是一个bug?还有,有没有办法防止这种情况发生 下面的两幅图突出了我所说的行为: 在添加新的解决方案文件夹之前: 添加新解决方案文件夹后: 据我所知,这些变
这有点奇怪,但当人们有多个解决方案,并在一个解决方案中修复外壳,而不是在另一个解决方案中修复外壳时,就会发生这种情况。重新呈现项目文件时(因为添加、重命名项目、更改解决方案项等),它将拾取更正的大小写。如果解决方案文件具有“正确”的大小写,则不会发生任何更改,但如果解决方案文件不匹配,则可能导致此级联 在一种溶液中固定套管可能会触发另一种溶液中的相反行为。因此,必须一次在所有解决方案文件中修复此问题。如果有多个分支,请小心 解决此问题的最佳方法是一次性解决文件系统、项目文件和解决方案文件上的大小写问题。使用文本编辑器通常比使用VisualStudio项目系统更容易。Regex搜索和替换可以在这里创造奇迹。确保一次修复所有这些问题:
- (所有)解决方案文件的内容
- 导致问题的
文件*proj
- 文件系统路径(要进行案例更改,您可能必须先更改多个案例)。还要确保您的版本控制系统将接受更改
- 项目在其他
文件中引用*proj
ProjectReference
元素具有问题项目的相对文件系统路径,并捕获其名称。您可以在发布的屏幕截图中清楚地看到这一点:
文件夹和项目的大小写似乎与解决方案文件中指定的大小写不同。如果更正,则引用该项目的所有项目都会得到更新的项目引用。最好的办法是一劳永逸地解决案例问题。@jessehouwing-我之前(删除的)评论是错误的。所有的变化似乎都与套管有关。有时只需要另一双眼睛。如果你提交答案,我会将其标记为已接受。@jessehouwing-这种行为似乎没有威慑力。根据我打开的解决方案,有时项目中的引用会在引用项目中更正,有时则不会。如果打开包含所有项目的主解决方案并执行此操作,则只更新一个项目文件。真奇怪。