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

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

有更好的方法吗?


当前回答

参见链接文章中的第3项。

关闭解决方案和IDE。在Windows资源管理器中:将目录名更改为新名称。在Windows资源管理器中:使用文本编辑器打开.sln文件。将目录名更改为新名称并保存。重新启动IDE并从菜单“文件”打开解决方案→ “最近使用的文件”菜单(如果未自动启动)。在解决方案资源管理器中单击项目文件夹,并在底部的财产中检查路径属性。它现在将引用新的项目文件夹。

这对我有用。

其他回答

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

在Visual Studio外部重命名项目。使用文本编辑器编辑您的_project_name.sln,然后将路径重命名为新路径。

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

即:

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


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

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

当必须创建新项目,并且您希望使用与项目名称不同的项目文件夹名称时,也会出现类似的问题。

创建新项目时,它将存储在

./path/to/pro/ject/YourProject/YourProject.**proj

假设您希望将其直接保存在ject文件夹中:

./path/to/pro/ject/YourProject.**proj

我的解决方法是以路径的最后一部分作为名称创建项目,这样就不会创建额外的目录:

./path/to/pro/ject/ject.**proj

当您现在从Visual Studio中重命名项目时,无需离开Visual Studio即可实现目标:

./path/to/pro/ject/YourProject.**proj

这种方法的缺点是,还必须调整默认名称空间和Output二进制文件的名称,并且必须更新项目模板中包含的所有文件中的名称空间。

有一种更简单的方法在Visual Studio 2013 Update 1中进行了测试,适用于TFS连接的项目:

打开Visual Studio,但让解决方案关闭。打开源代码管理器并重命名所需的文件夹(如果您尚未先关闭解决方案,则将为您关闭该解决方案)。右键单击解决方案(也可以从源资源管理器)并选择签入。打开解决方案。你会被告知有新项目加入。接受以获得更改。从解决方案中删除项目并再次添加,然后签入。检查内部参考是否正常。