我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在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代码中加载解决方案后,将立即加载大部分依赖项。你准备好了。
其他回答
还有另一种方法,使用*.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当然,不要忘记将整个项目移动到该目录。
更简单的解决方案如下:
右键单击项目并将其重命名。(可选)打开项目的属性设置并修改程序集名称(以及可选的默认命名空间)以使用新的项目名称。(可选)在源文件中选择命名空间名称,右键单击并选择Refactor/Rename,以将命名空间全局重命名为新项目名称。(可选)打开AssemblyInfo.cs文件并更改程序集名称以匹配。保存并关闭解决方案。使用Windows资源管理器,将项目文件夹重命名为新名称。在文本编辑器中打开SLN文件,找到对项目路径的一个引用,并将其更改为使用新的文件夹名称。
需要四个步骤,但建议七个步骤。在一天结束时,尽管项目已完全重命名。从技术上讲,项目的文件夹名称不必与项目本身匹配,因此即使是该步骤也是可选的,但如果它们不匹配,可能会令人困惑。程序集和命名空间名称也是如此。
对于Visual Studio 2017,您可以使用我的Visual Studio扩展:
下载
它将在以下位置重命名项目:
项目位置文件夹解决方案文件其他项目中的参考程序集名称、信息默认命名空间
转到.sln文件,右键单击,用Notepad++(或任何编辑器;Notepad++是最快的)打开,找到路径并更改它。
其他答案提供了很多关于如何做的细节。不过,这里有一个快捷方式,可以为您节省一些工作:
重命名项目文件夹重命名.csproj文件大规模替换解决方案中所有文件中的项目名称(我使用GrepWin,它有一个方便的GUI和预览)
这样,您就不必在Visual Studio GUI中烦琐地工作了。您也可以通过这种方式修复名称空间。您可以使用源代码控制来验证更改(例如,打开TortoiseGitCommit并查看更改)。