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

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

有更好的方法吗?


当前回答

我最近正在与VS2022一起开发.Net 6项目。我需要将模板服务重命名为UserMicroservice。

.Net 6为您改变了大部分内容。如AssemblyNames和NameSpaces。此外,它还会自动更改.sln中的ProjectName引用。因此,这个答案将真正帮助您无障碍地重命名服务。

因此,我遵循了以下步骤:

在Visual Studio中打开解决方案并执行以下步骤:

我通过右键单击将解决方案重命名为UserServiceSolution。通过右键单击解决方案中的所有项目来重命名它们。如TemplateService到UserService。在一个特定的项目中,我搜索了名称空间,如:namespace TemplateService,并全部替换为名称空间UserService。在每个项目中执行此步骤。还将使用TemplateService改为使用UserService。打开launchsettings.json,并重命名与旧服务相关的任何内容,因为我在launchsettings.json的配置文件中很少看到这些内容。为了确定,请检查您的启动文件和program.cs文件,我没有对它们进行任何更改。

关闭Visual Studio中的解决方案并执行以下步骤:

关闭解决方案,然后打开文件资源管理器。将我的所有项目文件夹从TemplateService重命名为UserService。在记事本/记事本++中打开.sln,并且必须更改文件夹结构名称。就像对于特定项目一样,我应该给出正确的.csproj路径。如图所示,我需要将TemplateService重命名为UserService。

在Visual Studio中打开解决方案。在Visual Studio代码中加载解决方案后,将立即加载大部分依赖项。你准备好了。

其他回答

我最近正在与VS2022一起开发.Net 6项目。我需要将模板服务重命名为UserMicroservice。

.Net 6为您改变了大部分内容。如AssemblyNames和NameSpaces。此外,它还会自动更改.sln中的ProjectName引用。因此,这个答案将真正帮助您无障碍地重命名服务。

因此,我遵循了以下步骤:

在Visual Studio中打开解决方案并执行以下步骤:

我通过右键单击将解决方案重命名为UserServiceSolution。通过右键单击解决方案中的所有项目来重命名它们。如TemplateService到UserService。在一个特定的项目中,我搜索了名称空间,如:namespace TemplateService,并全部替换为名称空间UserService。在每个项目中执行此步骤。还将使用TemplateService改为使用UserService。打开launchsettings.json,并重命名与旧服务相关的任何内容,因为我在launchsettings.json的配置文件中很少看到这些内容。为了确定,请检查您的启动文件和program.cs文件,我没有对它们进行任何更改。

关闭Visual Studio中的解决方案并执行以下步骤:

关闭解决方案,然后打开文件资源管理器。将我的所有项目文件夹从TemplateService重命名为UserService。在记事本/记事本++中打开.sln,并且必须更改文件夹结构名称。就像对于特定项目一样,我应该给出正确的.csproj路径。如图所示,我需要将TemplateService重命名为UserService。

在Visual Studio中打开解决方案。在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路径。

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

派对有点晚了,但在VS2022中,您建议的方式对我来说仍然是最简单的(我不喜欢直接编辑.sln文件)。

即:

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


例如,如果要将项目“HelloWorld”重命名为“HelloStackOverflow”。

在Visual Studio中:将项目从“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:删除项目“HelloStackOverflow”在文件系统中:导航到文件夹:将“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:在VS2022中添加现有项目“HelloStackOverflow”在Visual Studio中:如果此项目存在依赖项,则必须删除它们并将它们添加到新项目中。

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

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