问题 使用SVN时在Visual Studio中更改文件夹名称


我使用VS2008 / VS2010与Resharper 5,TortoiseSVN 1.6.8.19260-x64和AnkhSVN 2.1.8420.8。我在Visual Studio中执行的大多数操作都在SVN中很好地反映了,但是,当我尝试提交更改时,重命名项目中的文件夹会导致问题。此外,还需要更新重命名文件夹下的C#源文件中的所有命名空间以反映名称更改。

重命名主项目文件夹或任何子文件夹的最佳方法是什么,并确保SVN没有问题?它应该在Visual Studio之外完成吗?

更新所有命名空间更改的最佳方法是什么?搜索/替换是唯一的方法吗?

有关文件夹名称及其内容的最佳做法吗?


10762
2018-05-16 21:51


起源



答案:


是的,您在Visual Studio外重命名。

在Windows资源管理器中使用TortoiseSVN,通过相关文件夹上的TortoiseSVN上下文菜单进行重命名。 Visual Studio中的项目将检测磁盘上的更改并要求您重新加载。

您还可以在Visual Studio中从项目中进行排除,然后重命名,然后重新包含新路径。


5
2018-05-16 21:56



在Visual Studio外部重命名意味着您必须稍后修复项目文件,方法是排除和引入新文件,或者手动编辑它。在Visual Studio中重命名时,这是一个单步过程 - Sander Rijken
@Sander,但在Visual Studio中重命名并没有告诉TortoiseSVN重命名,这导致了TortoiseSVN中的许多问题 - Ian Ringrose
不,问题是关于使用AnkhSVN。 AnkhSVN跟踪重命名并确保重命名在svn工作副本中正确注册 - Sander Rijken
@Sander:我在上面添加了这些信息。我会删除,但我不能,因为这是接受的答案。 - Brian R. Bondy


答案:


是的,您在Visual Studio外重命名。

在Windows资源管理器中使用TortoiseSVN,通过相关文件夹上的TortoiseSVN上下文菜单进行重命名。 Visual Studio中的项目将检测磁盘上的更改并要求您重新加载。

您还可以在Visual Studio中从项目中进行排除,然后重命名,然后重新包含新路径。


5
2018-05-16 21:56



在Visual Studio外部重命名意味着您必须稍后修复项目文件,方法是排除和引入新文件,或者手动编辑它。在Visual Studio中重命名时,这是一个单步过程 - Sander Rijken
@Sander,但在Visual Studio中重命名并没有告诉TortoiseSVN重命名,这导致了TortoiseSVN中的许多问题 - Ian Ringrose
不,问题是关于使用AnkhSVN。 AnkhSVN跟踪重命名并确保重命名在svn工作副本中正确注册 - Sander Rijken
@Sander:我在上面添加了这些信息。我会删除,但我不能,因为这是接受的答案。 - Brian R. Bondy


运行AnkhSvn时,您应该能够在Visual Studio中重命名文件夹。此外,当使用Resharper等重构工具根据新文件夹名称更改命名空间时,一切都按预期工作。


3
2018-06-10 21:38



我确实想知道为什么这会被贬低。问题是关于使用Resharper,AnkhSVN,TortoiseSVN组合。使用这种组合,在Visual Studio中使用或不使用resharper重命名是最好的方法,因为它会更改实际文件夹,项目文件和Subversion工作副本。 - Sander Rijken


代理SVN 插件实现了 MS-SCCI 接口,允许它与Visual Studio集成。

自从 MS-SCCI 定义文件重命名操作,这意味着代理SVN可以在IDE中进行文件重命名,任何插件也可以实现 MS-SCCI


3
2017-12-29 13:47



+1这个插件效果很好:) - veight


我必须执行文件夹重命名时通常要做的是首先使用tortoiseSVN重命名文件夹,然后排除/包括VS中的文件夹,最后重命名所有命名空间(使用Resharper只需要逐个文件和Alt + Enter( ing)在namespace指令上进行适当的重命名。


0
2018-05-16 21:57