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

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

有更好的方法吗?


当前回答

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

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

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

其他回答

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

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

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

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

我经常遇到在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+历史)解决了这个问题。

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

文件/加油/PR

https://github.com/ModernRonin/ProjectRenamer

这在Visual Studio 2019中对我来说效果很好。

在Visual Studio中重命名解决方案和项目正常单击文件名。在Visual Studio中重命名命名空间。在主项目页面上重命名所需的元素(发布位置、应用程序、默认名称空间等)。正如正确指出的那样,这对文件夹没有任何作用,但它确实重命名了项目文件,并在VisualStudio中将所有内容联系在一起。关闭Visual Studio。重命名文件夹。打开Visual Studio并回答“否”以从源代码管理获取项目。删除卸载的项目引用。使用“从解决方案添加现有项目”将每个项目添加回。这将一切联系在一起,并为我构建了项目。

请评论并纠正以上任何不起作用的内容。

对于Visual Studio 2017,您可以使用我的Visual Studio扩展:

下载

它将在以下位置重命名项目:

项目位置文件夹解决方案文件其他项目中的参考程序集名称、信息默认命名空间