我当前重命名项目文件夹的解决方案是:

从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。

有更好的方法吗?


当前回答

其他答案提供了很多关于如何做的细节。不过,这里有一个快捷方式,可以为您节省一些工作:

重命名项目文件夹重命名.csproj文件大规模替换解决方案中所有文件中的项目名称(我使用GrepWin,它有一个方便的GUI和预览)

这样,您就不必在Visual Studio GUI中烦琐地工作了。您也可以通过这种方式修复名称空间。您可以使用源代码控制来验证更改(例如,打开TortoiseGitCommit并查看更改)。

其他回答

TFS用户:如果您使用的源代码管理要求您在重命名文件/文件夹之前警告它,请查看此答案,其中包含了所需的额外步骤。


要在Visual Studio中重命名项目的文件夹、文件(.*proj)和显示名称,请执行以下操作:

关闭解决方案。在Visual Studio外部重命名文件夹。(如果使用源代码管理,请在TFS中重命名)打开解决方案,忽略警告(如果要求从源代码管理加载项目,请回答“否”)。浏览所有不可用的项目。。。打开项目的财产窗口(高亮显示项目并按Alt+Enter或F4,或右键单击>财产)。将属性“文件路径”设置为新位置。如果属性不可编辑(如在Visual Studio 2012中),则直接在另一个编辑器(如Notepad++)中打开.sln文件,并更新其中的路径。(您可能需要首先在TFS等中签出解决方案)重新加载项目-右键单击>重新加载项目。通过高亮显示项目并按F2键,或右键单击>重命名,更改项目的显示名称。

注意:其他建议的解决方案涉及删除项目,然后将其重新添加到解决方案中,这将破坏项目引用。

如果执行这些步骤,则还可以考虑重命名以下内容以匹配:

装配默认/根命名空间现有文件的命名空间(使用Visual Studio中的重构工具或ReSharper的不一致命名空间工具)

还要考虑修改以下程序集属性的值:

程序集产品属性AssemblyDescriptionAttribute程序集标题属性

有一种更简单的方法在Visual Studio 2013 Update 1中进行了测试,适用于TFS连接的项目:

打开Visual Studio,但让解决方案关闭。打开源代码管理器并重命名所需的文件夹(如果您尚未先关闭解决方案,则将为您关闭该解决方案)。右键单击解决方案(也可以从源资源管理器)并选择签入。打开解决方案。你会被告知有新项目加入。接受以获得更改。从解决方案中删除项目并再次添加,然后签入。检查内部参考是否正常。

最简单的方法:

从当前项目创建模板项目->导出模板…->项目模板->完成使用所需名称的模板创建新项目文件->新建项目->查找模板->为其指定所需的名称->添加到现有解决方案或与新解决方案相同

就这样,你完成了,如果你想,你现在可以删除另一个项目,但首先要确保新的项目按预期工作。模板应保留所有依赖项和项目设置。

我按自己的方式做了

关闭Visual Studio 2012将子目录重命名为.sln下的首选名称删除*.suo文件再次打开解决方案,并修复加载的Project的所有财产以符合新的子目录名称

如果项目当前正在运行,则无法重命名文件夹

停止应用程序Shift+F5从解决方案资源管理器重命名文件夹(右键单击>重命名或F2)