我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
派对有点晚了,但在VS2022中,您建议的方式对我来说仍然是最简单的(我不喜欢直接编辑.sln文件)。
即:
从解决方案中删除项目。在外部重命名文件夹将项目重新添加到解决方案中。
例如,如果要将项目“HelloWorld”重命名为“HelloStackOverflow”。
在Visual Studio中:将项目从“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:删除项目“HelloStackOverflow”在文件系统中:导航到文件夹:将“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:在VS2022中添加现有项目“HelloStackOverflow”在Visual Studio中:如果此项目存在依赖项,则必须删除它们并将它们添加到新项目中。
其他回答
我经常遇到在VisualStudio中重命名项目并编辑文件夹名、项目名和.sln文件以实现这一点的问题。我刚刚写了一个VBScript脚本来完成这一切。您必须小心选择要替换的字符串。
您只需将.vbs文件与解决方案的.sln文件放在同一目录中即可。
' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
我已经做了很多次了。能够重新调整现有项目的用途,但能够重命名名称空间、文件和文件夹(包括文件/目录名)中的文本,这非常有用。
从根文件夹开始使用递归查找和替换意味着重命名不会中断到解决方案文件和项目引用中的项目的链接。
为此,我创建了一个项目来实现这一点。该应用程序还努力忽略版本控制文件夹,如.git、.svn和.vs设置文件。更多信息请参阅自述文件。
https://github.com/garethrbrown/vs-project-rename
我使用Visual Studio 2013和TFS 2013。
我是这样做的:
打开Visual Studio,而不打开解决方案本身,并使用源代码管理资源管理器查找和重命名项目的文件夹双击源代码管理资源管理器中的解决方案文件以打开解决方案。您会收到一个问题:“项目最近已添加到此解决方案中。是否要从源代码管理中获取它们?”,然后选择“是”。现在文件夹和项目结构都在那里,但现在是文件,所以现在您可以从源代码管理获得最新版本尝试构建并提交更改。
注意:此修复程序适用于Visual Studio 2008,但在这里应该可以使用。
使用Windows资源管理器,将两个解决方案文件夹(父文件夹和子文件夹)重命名为新的解决方案名称。删除父文件夹中的.sln文件。在Visual Studio中,选择菜单“文件”► 打开项目。钻取刚刚重命名的新文件夹并打开.csproj文件(位于子文件夹中)。右键单击项目名称并将其重命名为所需名称。(它应该与步骤1中的文件夹同名。)“选择”菜单“文件”► 关闭解决方案。将出现一个对话框,询问是否要保存对.sln文件的更改。单击是。在“文件另存为”对话框中,指向新重命名的父文件夹,然后单击“保存”。(注意:确保.sln文件与文件夹同名。这不是必需的,但它保持一致性。)
完成。
对于那些使用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路径。