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

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

有更好的方法吗?


当前回答

我按自己的方式做了

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

其他回答

我已经做了很多次了。能够重新调整现有项目的用途,但能够重命名名称空间、文件和文件夹(包括文件/目录名)中的文本,这非常有用。

从根文件夹开始使用递归查找和替换意味着重命名不会中断到解决方案文件和项目引用中的项目的链接。

为此,我创建了一个项目来实现这一点。该应用程序还努力忽略版本控制文件夹,如.git、.svn和.vs设置文件。更多信息请参阅自述文件。

https://github.com/garethrbrown/vs-project-rename

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

Voilà:)

更改文件夹名称后,在记事本中打开.sln文件并将路径更改为新路径。

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

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

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