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

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

有更好的方法吗?


当前回答

在Visual Studio 2017中对我有用的内容:

在Visual Studio中关闭解决方案重命名解决方案中的项目目录。(推送源代码控制中的更改-在我的情况下是Git)在文本编辑器(Visual Studio 2017外部)中编辑.sln文件,更改目录名称。在Visual Studio中重新打开解决方案

上面写着“重新添加项目”。我重建了一切,一切都很好。

其他回答

我刚刚为自己编写了一个全球网络工具(也考虑了git+历史)解决了这个问题。

通过安装dotnet工具安装-g ModernRonin.ProjectRenamer,用于重命名项目<oldName><newName>。

文件/加油/PR

https://github.com/ModernRonin/ProjectRenamer

我经常遇到在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

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

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

使用Visual Studio 2019,我遵循以下步骤成功更改项目名称:

关闭解决方案重命名项目文件夹以与新项目名称匹配在记事本++类型的编辑器中打开解决方案文件,并使用新的项目名称文件夹编辑FilePath打开解决方案,如果它询问您是否要从源代码管理打开,请单击“否”右键单击要重命名的项目,然后单击“财产”,然后在下面进行更改:更改程序集名称,默认程序集命名空间和具有新名称的程序集信息打开任何文件并将文件移动到新的命名空间,这将由所有文件完成如果您有app.config类型的文件,请确保将它们也移动到新的命名空间中重建它,这将成功工作

目前没有。实际上,您可以单击损坏的项目节点,在财产窗格中查找属性“Path”,单击小浏览图标,然后选择新路径。

Voilà:)