vsrenamer 1.1.2

.NET Core 3.1
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global vsrenamer --version 1.1.2
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local vsrenamer --version 1.1.2
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=vsrenamer&version=1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package vsrenamer --version 1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Visual Studio Solution Renamer

Allows to rename a solution, its projects and namespaces.<br/> Please note Preview mode is supported and enabled by default.

Get started

The tool is intended to be used as a global dotnet tool.

dotnet tool install -g vsrenamer

Then you can run it directly from the command line:

vsrenamer.exe -w <solution directory> [other parameters]

Examples:

vsrenamer.exe --help
vsrenamer.exe -a -f Old -t New -c -w .\src --rename false --replacecontent true
vsrenamer.exe -a -f Old -t New -c -w .\src --rename true  --replacecontent false
vsrenamer.exe --workingdirectory c:\Sources\projectA\src\ --apply --from projectA --to projectAAA --solution MySolution.sln
vsrenamer.exe -w c:\Sources\projectA\src\ --apply --cleanup
vsrenamer.exe -w c:\Sources\projectB\src\ -a -f projectB -t projectBBB -c --projects --mask "*.csproj *.cs *.xaml"
vsrenamer.exe -w c:\Sources\projectC\src\ -a -f projectC -t projectCCC -c --verbose

If you need to update a solution with ".." paths you can use the following command line:

vsrenamer.exe -w c:\Sources\projectD\src\ -a -f projectD -t projectDDD -c -m "*.sln *.csproj *.xaml *.cs *.xml" -p

Also you can install and run its GUI version

dotnet tool install -g vsrenamer_gui
vsrenamer_gui.exe

<details> <summary>Screenshots...</summary>

<img src="cmd.png" width="1073px" /> <br/> <img src="gui.png" width="786px" /> </details> <br/>

Under the hood

Here is the list of actions to be done during the process of renaming

  • Rename .sln file
  • Rename .csproj files
  • Rename parent folder of the projects
  • Update their relative paths in the .sln file
  • Set proper AssemblyName and RootNamespace in the .csproj files
  • Replace text in files. By default, *.cs *.xaml *.xml *.json *.asax *.cshtml *.config *.js

Limitations

  • A single solution file only (.sln)
  • A single project (.csproj) per folder
  • C# projects only
  • No source version control history support

Be aware

  • 🔴 No backup feature
  • 🔴 No roll-back feature
  • 🔴 No proper symlinks support
  • 🔴 Tested with
    • Microsoft Visual Studio Solution File, Format Version 12.00
    • Visual Studio Version 16 (2019)
  • 🔴 It's strongly recommended to perform renaming with the following two steps:
    1. Replace file content, review the changes and commit (svn, git, etc.)
    2. Rename files and folders

References

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp3.1
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.1.5 423 10/24/2020
1.1.4 276 10/18/2020
1.1.3 309 10/18/2020
1.1.2 281 10/15/2020
1.1.1 398 10/10/2020
1.1.0 236 10/4/2020

Initial version