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

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

有更好的方法吗?


目前没有。实际上,您可以单击损坏的项目节点,在财产窗格中查找属性“Path”,单击小浏览图标,然后选择新路径。

Voilà:)


还有另一种方法,使用*.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当然,不要忘记将整个项目移动到该目录。


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


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

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

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

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

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

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

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


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

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

完成。


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

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

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

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

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

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

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

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

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


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

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

这对我有用。


我只需要自己做(使用VisualStudio2010)。正如一些人所回答的,最简单的步骤似乎是:

关闭Visual Studio项目。打开.sln文件并重命名每个.csproj事件的项目目录前缀。保存.sln文件重命名硬盘上的实际项目文件夹目录,以匹配.sln文件中的更改。打开.sln(在Visual Studio中)并重新生成


我已经编写了一个小型工具,可以自动执行所有这些步骤。目前它还支持Subversion。

有关当前版本的信息,请访问Visual Studio Project Renamer Infos。

现在可以从Visual Studio项目重命名器下载页下载最新版本。

非常感谢您的反馈。


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


更改文件夹名称后,在记事本中打开.sln文件并将路径更改为新路径。


伙计,我有没有为此而挣扎。遗憾的是,Visual Studio中没有一个单击式解决方案,但如果您正在运行Visual Studio 2012,并且您的项目在Team Foundation Server的源代码管理下,以下是我如何在保留源代码历史记录的情况下使其工作的:

(确保您阅读了@mjv下面的评论,因为他指出您可以跳过第5-10步)

确保已签入所有更改,因此没有挂起的更改。通过右键单击并选择“删除”,从解决方案中删除项目。现在,在Windows资源管理器中,重命名项目文件夹。返回Visual Studio,在解决方案资源管理器中,右键单击解决方案并选择“添加”->“现有项目”。为在步骤2中删除的项目选择项目文件,该文件应位于重命名的文件夹中。现在该项目又回到了解决方案中,但该项目似乎没有添加到源代码管理中。要解决此问题,请打开源代码管理资源管理器。在源代码管理资源管理器中查找与在步骤3中重命名的磁盘上的项目文件夹相对应的项目文件夹。在源代码管理资源管理器中重命名文件夹,使其与磁盘上的项目文件夹同名。现在看看您的待定更改。您应该对解决方案文件进行更改,并对项目文件夹执行重命名操作。进行重建并确保所有内容都正确编译。如果重命名的项目具有项目间引用,则需要将它们再次添加到引用该项目的各个项目中。你现在应该准备好了。去把一切都检查一下。

上面的指南对我有效。如果对你无效,请尝试完全删除本地解决方案,并删除工作区中的文件夹映射。重新启动Visual Studio以防万一。确保您确实从计算机中删除了整个解决方案。现在,将解决方案映射到您的工作区并获取最新版本。现在尝试以上步骤。如果在执行上述步骤时出现问题,同样适用。只需在本地删除您的解决方案并获取最新的源代码,您将有一个全新的工作环境。

如果您仍然有问题,请确保在尝试上述步骤之前,您没有手动更改解决方案文件中的任何内容,或尝试其他“技巧”。如果您已经更改并签入了某个项目,那么您可能需要考虑回滚到刚刚开始扰乱项目重命名之前的点。

当然,您还需要在SolutionExplorer中重命名项目本身。您可以在上述步骤之前执行此操作,但在这种情况下,请确保在应用上述步骤之前签入该更改。您也可以在以后执行此操作,但请确保先执行上述所有步骤,并在尝试在解决方案资源管理器中重命名项目名称之前签入更改。我不建议在解决方案资源管理器中尝试将上述步骤与重命名项目名称混合使用。虽然它可能会起作用,但我建议在两个单独的变更集中进行。


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

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

./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和TFS 2013。

我是这样做的:

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


有一种更简单的方法在Visual Studio 2013 Update 1中进行了测试,适用于TFS连接的项目:

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


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

查看Visual Studio Gallery:Gallery下载


我按自己的方式做了

关闭Visual Studio 2012将子目录重命名为.sln下的首选名称删除*.suo文件再次打开解决方案,并修复加载的Project的所有财产以符合新的子目录名称


经验证的Visual Studio扩展for Data Tools for Business Intelligence(SSDT-BI 2013)解决方案:

将Project文件夹移动到其新位置(暂时不重命名任何内容)在解决方案资源管理器中,重命名项目/解决方案。关闭(并保存)新重命名的项目。重命名项目的文件夹和.sln文件。使用文本编辑器打开新重命名的项目解决方案文件(.sln)(我使用了Notepad++)在第6行中,您将看到:“Project{fdjfksdk4387!…}=”OLDPROJECT“,”OLDFOLDER\OLDPROJECT.rptproj“。使用步骤4中使用的新名称重命名所有内容。(即…=“NEWPROJECT”,“NEWFOLDER\NEWPROJECT.rptproj”…)就是这样!

它经过了100%的测试,在我的案例中运行得非常完美。

注意:我无法确认它是否适用于不同的项目模板和其他Visual Studio版本。一如既往,事先备份所有内容。


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


在Visual Studio外部重命名项目。使用文本编辑器编辑您的_project_name.sln,然后将路径重命名为新路径。


这在Visual Studio 2015中很简单(可能适用于旧版本)

在解决方案资源管理器中,右键单击主解决方案→ 重命名在解决方案资源管理器中,右键单击项目(在解决方案下)→ 重命名在解决方案资源管理器中,双击或右键单击财产→ 转到应用程序选项卡,重命名程序集名称和默认名称空间以匹配。如果还希望重命名命名空间,请打开一个类文件。右键单击名称空间→ 重命名。。。。这将在整个项目中搜索并替换对命名空间的所有引用。关闭项目→ 重命名项目文件夹。在记事本中编辑.sln文件,并将路径更改为csproj,即fu\bar.csproj→ bar\bar.csproj。


更简单的解决方案如下:

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

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


我执行了以下操作:

<创建整个文件夹的备份>

在Visual Studio 2013中重命名项目(可选/不需要)。将项目导出为模板。关闭解决方案。重新打开解决方案从保存的模板创建项目并使用您喜欢的名称。从解决方案资源管理器中删除上一个项目。

此时,我试图编译新的解决方案,为此,我必须手动将一些资源和标题从旧项目文件夹复制到新项目文件夹。这样做,直到编译时没有错误。现在,这个新项目将“.exe”文件保存到上一个文件夹中*

所以->

转到Windows资源管理器,手动将解决方案文件从旧项目文件夹复制到新项目文件夹。关闭解决方案,然后从新项目中打开解决方案。如果需要,将配置更改回(x64)。从解决方案的文件夹中删除具有旧名称的项目文件夹。


对于Visual Studio 2017,您可以使用我的Visual Studio扩展:

下载

它将在以下位置重命名项目:

项目位置文件夹解决方案文件其他项目中的参考程序集名称、信息默认命名空间


我经常遇到在VisualStudio中重命名项目并编辑文件夹名、项目名和.sln文件以实现这一点的问题。我刚刚写了一个VBScript脚本来完成这一切。您必须小心选择要替换的字符串。

您只需将.vbs文件与解决方案的.sln文件放在同一目录中即可。

' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"

Const ForReading = 1
Const ForWriting = 2

Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)

' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close

' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"

' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject

右键单击项目→ 财产,并将(name)设置为所需的名称。


重命名解决方案和项目文件夹中的项目从解决方案中删除项目将现有项目添加到解决方案(重命名的项目)

它对我有用。TFS还将跟踪新项目。


在Visual Studio 2017中对我有用的内容:

在Visual Studio中关闭解决方案重命名解决方案中的项目目录。(推送源代码控制中的更改-在我的情况下是Git)在文本编辑器(Visual Studio 2017外部)中编辑.sln文件,更改目录名称。在Visual Studio中重新打开解决方案

上面写着“重新添加项目”。我重建了一切,一切都很好。


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


或者简单地,复制所有代码,用所需的名称打开一个新项目,然后粘贴代码。运行调试,然后删除上一个项目。完成!

这对我有用!


在文本编辑器中打开.sln,然后在下面的行中将<FolderName>更改为新的文件夹名称项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“Ricky”,“\.csproj”,“{021CC6B0-8CFB-4194-A103-C19AF869D965}”


我已经做了很多次了。能够重新调整现有项目的用途,但能够重命名名称空间、文件和文件夹(包括文件/目录名)中的文本,这非常有用。

从根文件夹开始使用递归查找和替换意味着重命名不会中断到解决方案文件和项目引用中的项目的链接。

为此,我创建了一个项目来实现这一点。该应用程序还努力忽略版本控制文件夹,如.git、.svn和.vs设置文件。更多信息请参阅自述文件。

https://github.com/garethrbrown/vs-project-rename


转到.sln文件,右键单击,用Notepad++(或任何编辑器;Notepad++是最快的)打开,找到路径并更改它。


使用Visual Studio 2019,我遵循以下步骤成功更改项目名称:

关闭解决方案重命名项目文件夹以与新项目名称匹配在记事本++类型的编辑器中打开解决方案文件,并使用新的项目名称文件夹编辑FilePath打开解决方案,如果它询问您是否要从源代码管理打开,请单击“否”右键单击要重命名的项目,然后单击“财产”,然后在下面进行更改:更改程序集名称,默认程序集命名空间和具有新名称的程序集信息打开任何文件并将文件移动到新的命名空间,这将由所有文件完成如果您有app.config类型的文件,请确保将它们也移动到新的命名空间中重建它,这将成功工作


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

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

文件/加油/PR

https://github.com/ModernRonin/ProjectRenamer


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

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


这在Visual Studio 2019中对我来说效果很好。

在Visual Studio中重命名解决方案和项目正常单击文件名。在Visual Studio中重命名命名空间。在主项目页面上重命名所需的元素(发布位置、应用程序、默认名称空间等)。正如正确指出的那样,这对文件夹没有任何作用,但它确实重命名了项目文件,并在VisualStudio中将所有内容联系在一起。关闭Visual Studio。重命名文件夹。打开Visual Studio并回答“否”以从源代码管理获取项目。删除卸载的项目引用。使用“从解决方案添加现有项目”将每个项目添加回。这将一切联系在一起,并为我构建了项目。

请评论并纠正以上任何不起作用的内容。


这就是我在VS19中重命名现有项目的方式。

关闭visual studio项目重命名并打开驱动器上的每个项目文件夹名称重命名每个.csproj打开.sln文件并重命名每个.csproj事件的项目目录前缀。在visual studio中打开.sln文件并重建通过浏览每个文件或使用ReplaceAll,用新的名称空间引用更新以前的名称空间


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

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

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


最简单的方法:

从当前项目创建模板项目->导出模板…->项目模板->完成使用所需名称的模板创建新项目文件->新建项目->查找模板->为其指定所需的名称->添加到现有解决方案或与新解决方案相同

就这样,你完成了,如果你想,你现在可以删除另一个项目,但首先要确保新的项目按预期工作。模板应保留所有依赖项和项目设置。


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

即:

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


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

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


我最近正在与VS2022一起开发.Net 6项目。我需要将模板服务重命名为UserMicroservice。

.Net 6为您改变了大部分内容。如AssemblyNames和NameSpaces。此外,它还会自动更改.sln中的ProjectName引用。因此,这个答案将真正帮助您无障碍地重命名服务。

因此,我遵循了以下步骤:

在Visual Studio中打开解决方案并执行以下步骤:

我通过右键单击将解决方案重命名为UserServiceSolution。通过右键单击解决方案中的所有项目来重命名它们。如TemplateService到UserService。在一个特定的项目中,我搜索了名称空间,如:namespace TemplateService,并全部替换为名称空间UserService。在每个项目中执行此步骤。还将使用TemplateService改为使用UserService。打开launchsettings.json,并重命名与旧服务相关的任何内容,因为我在launchsettings.json的配置文件中很少看到这些内容。为了确定,请检查您的启动文件和program.cs文件,我没有对它们进行任何更改。

关闭Visual Studio中的解决方案并执行以下步骤:

关闭解决方案,然后打开文件资源管理器。将我的所有项目文件夹从TemplateService重命名为UserService。在记事本/记事本++中打开.sln,并且必须更改文件夹结构名称。就像对于特定项目一样,我应该给出正确的.csproj路径。如图所示,我需要将TemplateService重命名为UserService。

在Visual Studio中打开解决方案。在Visual Studio代码中加载解决方案后,将立即加载大部分依赖项。你准备好了。


首先,关闭localhost,然后右键单击该文件夹。您将获得重命名选项。(Visual Studio 2022)。这对我有用。若你们并没有获得重命名选项,那个么就通过其他解决方案。