我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
派对有点晚了,但在VS2022中,您建议的方式对我来说仍然是最简单的(我不喜欢直接编辑.sln文件)。
即:
从解决方案中删除项目。在外部重命名文件夹将项目重新添加到解决方案中。
例如,如果要将项目“HelloWorld”重命名为“HelloStackOverflow”。
在Visual Studio中:将项目从“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:删除项目“HelloStackOverflow”在文件系统中:导航到文件夹:将“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:在VS2022中添加现有项目“HelloStackOverflow”在Visual Studio中:如果此项目存在依赖项,则必须删除它们并将它们添加到新项目中。
其他回答
我已经做了很多次了。能够重新调整现有项目的用途,但能够重命名名称空间、文件和文件夹(包括文件/目录名)中的文本,这非常有用。
从根文件夹开始使用递归查找和替换意味着重命名不会中断到解决方案文件和项目引用中的项目的链接。
为此,我创建了一个项目来实现这一点。该应用程序还努力忽略版本控制文件夹,如.git、.svn和.vs设置文件。更多信息请参阅自述文件。
https://github.com/garethrbrown/vs-project-rename
更简单的解决方案如下:
右键单击项目并将其重命名。(可选)打开项目的属性设置并修改程序集名称(以及可选的默认命名空间)以使用新的项目名称。(可选)在源文件中选择命名空间名称,右键单击并选择Refactor/Rename,以将命名空间全局重命名为新项目名称。(可选)打开AssemblyInfo.cs文件并更改程序集名称以匹配。保存并关闭解决方案。使用Windows资源管理器,将项目文件夹重命名为新名称。在文本编辑器中打开SLN文件,找到对项目路径的一个引用,并将其更改为使用新的文件夹名称。
需要四个步骤,但建议七个步骤。在一天结束时,尽管项目已完全重命名。从技术上讲,项目的文件夹名称不必与项目本身匹配,因此即使是该步骤也是可选的,但如果它们不匹配,可能会令人困惑。程序集和命名空间名称也是如此。
伙计,我有没有为此而挣扎。遗憾的是,Visual Studio中没有一个单击式解决方案,但如果您正在运行Visual Studio 2012,并且您的项目在Team Foundation Server的源代码管理下,以下是我如何在保留源代码历史记录的情况下使其工作的:
(确保您阅读了@mjv下面的评论,因为他指出您可以跳过第5-10步)
确保已签入所有更改,因此没有挂起的更改。通过右键单击并选择“删除”,从解决方案中删除项目。现在,在Windows资源管理器中,重命名项目文件夹。返回Visual Studio,在解决方案资源管理器中,右键单击解决方案并选择“添加”->“现有项目”。为在步骤2中删除的项目选择项目文件,该文件应位于重命名的文件夹中。现在该项目又回到了解决方案中,但该项目似乎没有添加到源代码管理中。要解决此问题,请打开源代码管理资源管理器。在源代码管理资源管理器中查找与在步骤3中重命名的磁盘上的项目文件夹相对应的项目文件夹。在源代码管理资源管理器中重命名文件夹,使其与磁盘上的项目文件夹同名。现在看看您的待定更改。您应该对解决方案文件进行更改,并对项目文件夹执行重命名操作。进行重建并确保所有内容都正确编译。如果重命名的项目具有项目间引用,则需要将它们再次添加到引用该项目的各个项目中。你现在应该准备好了。去把一切都检查一下。
上面的指南对我有效。如果对你无效,请尝试完全删除本地解决方案,并删除工作区中的文件夹映射。重新启动Visual Studio以防万一。确保您确实从计算机中删除了整个解决方案。现在,将解决方案映射到您的工作区并获取最新版本。现在尝试以上步骤。如果在执行上述步骤时出现问题,同样适用。只需在本地删除您的解决方案并获取最新的源代码,您将有一个全新的工作环境。
如果您仍然有问题,请确保在尝试上述步骤之前,您没有手动更改解决方案文件中的任何内容,或尝试其他“技巧”。如果您已经更改并签入了某个项目,那么您可能需要考虑回滚到刚刚开始扰乱项目重命名之前的点。
当然,您还需要在SolutionExplorer中重命名项目本身。您可以在上述步骤之前执行此操作,但在这种情况下,请确保在应用上述步骤之前签入该更改。您也可以在以后执行此操作,但请确保先执行上述所有步骤,并在尝试在解决方案资源管理器中重命名项目名称之前签入更改。我不建议在解决方案资源管理器中尝试将上述步骤与重命名项目名称混合使用。虽然它可能会起作用,但我建议在两个单独的变更集中进行。
对于Visual Studio 2017,您可以使用我的Visual Studio扩展:
下载
它将在以下位置重命名项目:
项目位置文件夹解决方案文件其他项目中的参考程序集名称、信息默认命名空间
在anderjanmyr的回答中,首先重命名项目更容易。
重命名项目。关闭解决方案(保存)。在Visual Studio外部重命名文件夹。打开解决方案,忽略警告。浏览所有不可用的项目,并将属性“文件路径”设置为项目文件的新位置,即someproject.csproj。重新加载项目。
此外,执行这些步骤后,您可能需要将其他引用重命名为旧项目名称。
在项目财产中,更新程序集名称和默认命名空间。
这将更新项目文件中的以下内容。。。
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
…并将消除错误“命名空间与文件位置不对应,应为:'SomeProjectName'”
重命名根命名空间(如果您有ReSharper,请右键单击命名空间并转到Refactor->Rename)。
更改AssemblyInfo.cs中旧项目名称的所有引用。