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

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

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

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

我刚刚为自己编写了一个全球网络工具(也考虑了git+历史)解决了这个问题。

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

文件/加油/PR

https://github.com/ModernRonin/ProjectRenamer

注意:此修复程序适用于Visual Studio 2008,但在这里应该可以使用。

使用Windows资源管理器,将两个解决方案文件夹(父文件夹和子文件夹)重命名为新的解决方案名称。删除父文件夹中的.sln文件。在Visual Studio中,选择菜单“文件”► 打开项目。钻取刚刚重命名的新文件夹并打开.csproj文件(位于子文件夹中)。右键单击项目名称并将其重命名为所需名称。(它应该与步骤1中的文件夹同名。)“选择”菜单“文件”► 关闭解决方案。将出现一个对话框,询问是否要保存对.sln文件的更改。单击是。在“文件另存为”对话框中,指向新重命名的父文件夹,然后单击“保存”。(注意:确保.sln文件与文件夹同名。这不是必需的,但它保持一致性。)

完成。

对于那些使用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路径。