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

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

有更好的方法吗?


当前回答

TFS用户:如果您使用的源代码管理要求您在重命名文件/文件夹之前警告它,请查看此答案,其中包含了所需的额外步骤。


要在Visual Studio中重命名项目的文件夹、文件(.*proj)和显示名称,请执行以下操作:

关闭解决方案。在Visual Studio外部重命名文件夹。(如果使用源代码管理,请在TFS中重命名)打开解决方案,忽略警告(如果要求从源代码管理加载项目,请回答“否”)。浏览所有不可用的项目。。。打开项目的财产窗口(高亮显示项目并按Alt+Enter或F4,或右键单击>财产)。将属性“文件路径”设置为新位置。如果属性不可编辑(如在Visual Studio 2012中),则直接在另一个编辑器(如Notepad++)中打开.sln文件,并更新其中的路径。(您可能需要首先在TFS等中签出解决方案)重新加载项目-右键单击>重新加载项目。通过高亮显示项目并按F2键,或右键单击>重命名,更改项目的显示名称。

注意:其他建议的解决方案涉及删除项目,然后将其重新添加到解决方案中,这将破坏项目引用。

如果执行这些步骤,则还可以考虑重命名以下内容以匹配:

装配默认/根命名空间现有文件的命名空间(使用Visual Studio中的重构工具或ReSharper的不一致命名空间工具)

还要考虑修改以下程序集属性的值:

程序集产品属性AssemblyDescriptionAttribute程序集标题属性

其他回答

最简单的方法是转到窗口的属性,更改默认名称空间的名称,然后完成重命名。

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

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

这对我有用。

在anderjanmyr的回答中,首先重命名项目更容易。

重命名项目。关闭解决方案(保存)。在Visual Studio外部重命名文件夹。打开解决方案,忽略警告。浏览所有不可用的项目,并将属性“文件路径”设置为项目文件的新位置,即someproject.csproj。重新加载项目。

此外,执行这些步骤后,您可能需要将其他引用重命名为旧项目名称。

在项目财产中,更新程序集名称和默认命名空间。

这将更新项目文件中的以下内容。。。

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

…并将消除错误“命名空间与文件位置不对应,应为:'SomeProjectName'”

重命名根命名空间(如果您有ReSharper,请右键单击命名空间并转到Refactor->Rename)。

更改AssemblyInfo.cs中旧项目名称的所有引用。

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

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

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

使用TFS时,第2步实际上是在源代码管理中重命名文件夹,然后在重新打开解决方案之前获取最新版本。