我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
我已经编写了一个小型工具,可以自动执行所有这些步骤。目前它还支持Subversion。
有关当前版本的信息,请访问Visual Studio Project Renamer Infos。
现在可以从Visual Studio项目重命名器下载页下载最新版本。
非常感谢您的反馈。
其他回答
对于那些使用Visual Studio+Git并希望保留文件历史记录(同时重命名项目和/或解决方案)的用户:
关闭Visual Studio在.gitignore文件中,使用这些路径的重命名版本复制要重命名的项目的所有忽略路径。使用Git move命令如下:git mv<old_folder_name><new_folder_name>有关其他选项,请参阅文档:https://git-scm.com/docs/git-mv在.sln文件中:找到定义项目的行并更改路径中的文件夹名称。该行应类似于:项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“<项目名称>”,“<项目路径>\<项目>.csproj”打开Visual Studio,右键单击项目→ 重命名然后,重命名名称空间。我读到ReSharper对此有一些选择。但简单的查找/替换为我完成了任务。删除旧的.gitignore路径。
TFS用户:如果您使用的源代码管理要求您在重命名文件/文件夹之前警告它,请查看此答案,其中包含了所需的额外步骤。
要在Visual Studio中重命名项目的文件夹、文件(.*proj)和显示名称,请执行以下操作:
关闭解决方案。在Visual Studio外部重命名文件夹。(如果使用源代码管理,请在TFS中重命名)打开解决方案,忽略警告(如果要求从源代码管理加载项目,请回答“否”)。浏览所有不可用的项目。。。打开项目的财产窗口(高亮显示项目并按Alt+Enter或F4,或右键单击>财产)。将属性“文件路径”设置为新位置。如果属性不可编辑(如在Visual Studio 2012中),则直接在另一个编辑器(如Notepad++)中打开.sln文件,并更新其中的路径。(您可能需要首先在TFS等中签出解决方案)重新加载项目-右键单击>重新加载项目。通过高亮显示项目并按F2键,或右键单击>重命名,更改项目的显示名称。
注意:其他建议的解决方案涉及删除项目,然后将其重新添加到解决方案中,这将破坏项目引用。
如果执行这些步骤,则还可以考虑重命名以下内容以匹配:
装配默认/根命名空间现有文件的命名空间(使用Visual Studio中的重构工具或ReSharper的不一致命名空间工具)
还要考虑修改以下程序集属性的值:
程序集产品属性AssemblyDescriptionAttribute程序集标题属性
使用Visual Studio 2019,我遵循以下步骤成功更改项目名称:
关闭解决方案重命名项目文件夹以与新项目名称匹配在记事本++类型的编辑器中打开解决方案文件,并使用新的项目名称文件夹编辑FilePath打开解决方案,如果它询问您是否要从源代码管理打开,请单击“否”右键单击要重命名的项目,然后单击“财产”,然后在下面进行更改:更改程序集名称,默认程序集命名空间和具有新名称的程序集信息打开任何文件并将文件移动到新的命名空间,这将由所有文件完成如果您有app.config类型的文件,请确保将它们也移动到新的命名空间中重建它,这将成功工作
其他答案提供了很多关于如何做的细节。不过,这里有一个快捷方式,可以为您节省一些工作:
重命名项目文件夹重命名.csproj文件大规模替换解决方案中所有文件中的项目名称(我使用GrepWin,它有一个方便的GUI和预览)
这样,您就不必在Visual Studio GUI中烦琐地工作了。您也可以通过这种方式修复名称空间。您可以使用源代码控制来验证更改(例如,打开TortoiseGitCommit并查看更改)。
还有另一种方法,使用*.sol,*csproj文件。
打开解决方案文件。搜索要更改的*.csproj。它将如下(相对于*.sol文件):项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“Shani.Commands.Impl”,“Shani.Orders.Impl\Shani.Commands.Impl.csproj”,“{747CFA4B-FC83-419A-858E-5E2DE2B948E}”只需将第一部分更改为新的目录,例如:Impl\Shani.Commands.Impl\Sani.Commands.Impl.cspoj当然,不要忘记将整个项目移动到该目录。