我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
我经常遇到在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 2008,但在这里应该可以使用。
使用Windows资源管理器,将两个解决方案文件夹(父文件夹和子文件夹)重命名为新的解决方案名称。删除父文件夹中的.sln文件。在Visual Studio中,选择菜单“文件”► 打开项目。钻取刚刚重命名的新文件夹并打开.csproj文件(位于子文件夹中)。右键单击项目名称并将其重命名为所需名称。(它应该与步骤1中的文件夹同名。)“选择”菜单“文件”► 关闭解决方案。将出现一个对话框,询问是否要保存对.sln文件的更改。单击是。在“文件另存为”对话框中,指向新重命名的父文件夹,然后单击“保存”。(注意:确保.sln文件与文件夹同名。这不是必需的,但它保持一致性。)
完成。
我经常遇到在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 2017,您可以使用我的Visual Studio扩展:
下载
它将在以下位置重命名项目:
项目位置文件夹解决方案文件其他项目中的参考程序集名称、信息默认命名空间
其他答案提供了很多关于如何做的细节。不过,这里有一个快捷方式,可以为您节省一些工作:
重命名项目文件夹重命名.csproj文件大规模替换解决方案中所有文件中的项目名称(我使用GrepWin,它有一个方便的GUI和预览)
这样,您就不必在Visual Studio GUI中烦琐地工作了。您也可以通过这种方式修复名称空间。您可以使用源代码控制来验证更改(例如,打开TortoiseGitCommit并查看更改)。
如果项目当前正在运行,则无法重命名文件夹
停止应用程序Shift+F5从解决方案资源管理器重命名文件夹(右键单击>重命名或F2)