我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
这在Visual Studio 2015中很简单(可能适用于旧版本)
在解决方案资源管理器中,右键单击主解决方案→ 重命名在解决方案资源管理器中,右键单击项目(在解决方案下)→ 重命名在解决方案资源管理器中,双击或右键单击财产→ 转到应用程序选项卡,重命名程序集名称和默认名称空间以匹配。如果还希望重命名命名空间,请打开一个类文件。右键单击名称空间→ 重命名。。。。这将在整个项目中搜索并替换对命名空间的所有引用。关闭项目→ 重命名项目文件夹。在记事本中编辑.sln文件,并将路径更改为csproj,即fu\bar.csproj→ bar\bar.csproj。
其他回答
这在Visual Studio 2015中很简单(可能适用于旧版本)
在解决方案资源管理器中,右键单击主解决方案→ 重命名在解决方案资源管理器中,右键单击项目(在解决方案下)→ 重命名在解决方案资源管理器中,双击或右键单击财产→ 转到应用程序选项卡,重命名程序集名称和默认名称空间以匹配。如果还希望重命名命名空间,请打开一个类文件。右键单击名称空间→ 重命名。。。。这将在整个项目中搜索并替换对命名空间的所有引用。关闭项目→ 重命名项目文件夹。在记事本中编辑.sln文件,并将路径更改为csproj,即fu\bar.csproj→ bar\bar.csproj。
我经常遇到在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扩展:
下载
它将在以下位置重命名项目:
项目位置文件夹解决方案文件其他项目中的参考程序集名称、信息默认命名空间
如果项目当前正在运行,则无法重命名文件夹
停止应用程序Shift+F5从解决方案资源管理器重命名文件夹(右键单击>重命名或F2)
我刚刚为自己编写了一个全球网络工具(也考虑了git+历史)解决了这个问题。
通过安装dotnet工具安装-g ModernRonin.ProjectRenamer,用于重命名项目<oldName><newName>。
文件/加油/PR
https://github.com/ModernRonin/ProjectRenamer