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

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

有更好的方法吗?


当前回答

其他答案提供了很多关于如何做的细节。不过,这里有一个快捷方式,可以为您节省一些工作:

重命名项目文件夹重命名.csproj文件大规模替换解决方案中所有文件中的项目名称(我使用GrepWin,它有一个方便的GUI和预览)

这样,您就不必在Visual Studio GUI中烦琐地工作了。您也可以通过这种方式修复名称空间。您可以使用源代码控制来验证更改(例如,打开TortoiseGitCommit并查看更改)。

其他回答

我使用Visual Studio 2013和TFS 2013。

我是这样做的:

打开Visual Studio,而不打开解决方案本身,并使用源代码管理资源管理器查找和重命名项目的文件夹双击源代码管理资源管理器中的解决方案文件以打开解决方案。您会收到一个问题:“项目最近已添加到此解决方案中。是否要从源代码管理中获取它们?”,然后选择“是”。现在文件夹和项目结构都在那里,但现在是文件,所以现在您可以从源代码管理获得最新版本尝试构建并提交更改。

更简单的解决方案如下:

右键单击项目并将其重命名。(可选)打开项目的属性设置并修改程序集名称(以及可选的默认命名空间)以使用新的项目名称。(可选)在源文件中选择命名空间名称,右键单击并选择Refactor/Rename,以将命名空间全局重命名为新项目名称。(可选)打开AssemblyInfo.cs文件并更改程序集名称以匹配。保存并关闭解决方案。使用Windows资源管理器,将项目文件夹重命名为新名称。在文本编辑器中打开SLN文件,找到对项目路径的一个引用,并将其更改为使用新的文件夹名称。

需要四个步骤,但建议七个步骤。在一天结束时,尽管项目已完全重命名。从技术上讲,项目的文件夹名称不必与项目本身匹配,因此即使是该步骤也是可选的,但如果它们不匹配,可能会令人困惑。程序集和命名空间名称也是如此。

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

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

./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二进制文件的名称,并且必须更新项目模板中包含的所有文件中的名称空间。

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

即:

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


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

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

我们最近上传了一个免费Visual Studio扩展的测试版,它为您提供了这些功能。

查看Visual Studio Gallery:Gallery下载