我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
TFS用户:如果您使用的源代码管理要求您在重命名文件/文件夹之前警告它,请查看此答案,其中包含了所需的额外步骤。
要在Visual Studio中重命名项目的文件夹、文件(.*proj)和显示名称,请执行以下操作:
关闭解决方案。在Visual Studio外部重命名文件夹。(如果使用源代码管理,请在TFS中重命名)打开解决方案,忽略警告(如果要求从源代码管理加载项目,请回答“否”)。浏览所有不可用的项目。。。打开项目的财产窗口(高亮显示项目并按Alt+Enter或F4,或右键单击>财产)。将属性“文件路径”设置为新位置。如果属性不可编辑(如在Visual Studio 2012中),则直接在另一个编辑器(如Notepad++)中打开.sln文件,并更新其中的路径。(您可能需要首先在TFS等中签出解决方案)重新加载项目-右键单击>重新加载项目。通过高亮显示项目并按F2键,或右键单击>重命名,更改项目的显示名称。
注意:其他建议的解决方案涉及删除项目,然后将其重新添加到解决方案中,这将破坏项目引用。
如果执行这些步骤,则还可以考虑重命名以下内容以匹配:
装配默认/根命名空间现有文件的命名空间(使用Visual Studio中的重构工具或ReSharper的不一致命名空间工具)
还要考虑修改以下程序集属性的值:
程序集产品属性AssemblyDescriptionAttribute程序集标题属性
其他回答
还有另一种方法,使用*.sol,*csproj文件。
打开解决方案文件。搜索要更改的*.csproj。它将如下(相对于*.sol文件):项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“Shani.Commands.Impl”,“Shani.Orders.Impl\Shani.Commands.Impl.csproj”,“{747CFA4B-FC83-419A-858E-5E2DE2B948E}”只需将第一部分更改为新的目录,例如:Impl\Shani.Commands.Impl\Sani.Commands.Impl.cspoj当然,不要忘记将整个项目移动到该目录。
对于那些使用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路径。
伙计,我有没有为此而挣扎。遗憾的是,Visual Studio中没有一个单击式解决方案,但如果您正在运行Visual Studio 2012,并且您的项目在Team Foundation Server的源代码管理下,以下是我如何在保留源代码历史记录的情况下使其工作的:
(确保您阅读了@mjv下面的评论,因为他指出您可以跳过第5-10步)
确保已签入所有更改,因此没有挂起的更改。通过右键单击并选择“删除”,从解决方案中删除项目。现在,在Windows资源管理器中,重命名项目文件夹。返回Visual Studio,在解决方案资源管理器中,右键单击解决方案并选择“添加”->“现有项目”。为在步骤2中删除的项目选择项目文件,该文件应位于重命名的文件夹中。现在该项目又回到了解决方案中,但该项目似乎没有添加到源代码管理中。要解决此问题,请打开源代码管理资源管理器。在源代码管理资源管理器中查找与在步骤3中重命名的磁盘上的项目文件夹相对应的项目文件夹。在源代码管理资源管理器中重命名文件夹,使其与磁盘上的项目文件夹同名。现在看看您的待定更改。您应该对解决方案文件进行更改,并对项目文件夹执行重命名操作。进行重建并确保所有内容都正确编译。如果重命名的项目具有项目间引用,则需要将它们再次添加到引用该项目的各个项目中。你现在应该准备好了。去把一切都检查一下。
上面的指南对我有效。如果对你无效,请尝试完全删除本地解决方案,并删除工作区中的文件夹映射。重新启动Visual Studio以防万一。确保您确实从计算机中删除了整个解决方案。现在,将解决方案映射到您的工作区并获取最新版本。现在尝试以上步骤。如果在执行上述步骤时出现问题,同样适用。只需在本地删除您的解决方案并获取最新的源代码,您将有一个全新的工作环境。
如果您仍然有问题,请确保在尝试上述步骤之前,您没有手动更改解决方案文件中的任何内容,或尝试其他“技巧”。如果您已经更改并签入了某个项目,那么您可能需要考虑回滚到刚刚开始扰乱项目重命名之前的点。
当然,您还需要在SolutionExplorer中重命名项目本身。您可以在上述步骤之前执行此操作,但在这种情况下,请确保在应用上述步骤之前签入该更改。您也可以在以后执行此操作,但请确保先执行上述所有步骤,并在尝试在解决方案资源管理器中重命名项目名称之前签入更改。我不建议在解决方案资源管理器中尝试将上述步骤与重命名项目名称混合使用。虽然它可能会起作用,但我建议在两个单独的变更集中进行。
我执行了以下操作:
<创建整个文件夹的备份>
在Visual Studio 2013中重命名项目(可选/不需要)。将项目导出为模板。关闭解决方案。重新打开解决方案从保存的模板创建项目并使用您喜欢的名称。从解决方案资源管理器中删除上一个项目。
此时,我试图编译新的解决方案,为此,我必须手动将一些资源和标题从旧项目文件夹复制到新项目文件夹。这样做,直到编译时没有错误。现在,这个新项目将“.exe”文件保存到上一个文件夹中*
所以->
转到Windows资源管理器,手动将解决方案文件从旧项目文件夹复制到新项目文件夹。关闭解决方案,然后从新项目中打开解决方案。如果需要,将配置更改回(x64)。从解决方案的文件夹中删除具有旧名称的项目文件夹。
最简单的方法是转到窗口的属性,更改默认名称空间的名称,然后完成重命名。