{"id":18279999,"url":"https://github.com/lordmike/mbw.tools.elephantproject","last_synced_at":"2026-02-03T22:32:25.359Z","repository":{"id":42208311,"uuid":"353707845","full_name":"LordMike/MBW.Tools.ElephantProject","owner":"LordMike","description":"Tool to create .NET solutions spanning multiple repositories","archived":false,"fork":false,"pushed_at":"2023-09-19T21:12:02.000Z","size":50,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-20T13:05:30.008Z","etag":null,"topics":["dotnet","project-management"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LordMike.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-01T13:22:10.000Z","updated_at":"2025-04-05T22:41:04.000Z","dependencies_parsed_at":"2024-11-05T12:32:45.452Z","dependency_job_id":"02ac4926-fcc4-4430-b665-9a190e394c7e","html_url":"https://github.com/LordMike/MBW.Tools.ElephantProject","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/LordMike/MBW.Tools.ElephantProject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LordMike%2FMBW.Tools.ElephantProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LordMike%2FMBW.Tools.ElephantProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LordMike%2FMBW.Tools.ElephantProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LordMike%2FMBW.Tools.ElephantProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LordMike","download_url":"https://codeload.github.com/LordMike/MBW.Tools.ElephantProject/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LordMike%2FMBW.Tools.ElephantProject/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261126145,"owners_count":23113284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","project-management"],"created_at":"2024-11-05T12:32:00.751Z","updated_at":"2026-02-03T22:32:25.313Z","avatar_url":"https://github.com/LordMike.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MBW.Tools.ElephantProject [![Generic Build](https://github.com/LordMike/MBW.Tools.ElephantProject/actions/workflows/dotnet.yml/badge.svg)](https://github.com/LordMike/MBW.Tools.ElephantProject/actions/workflows/dotnet.yml) [![NuGet](https://img.shields.io/nuget/v/MBW.Tools.ElephantProject.svg)](https://www.nuget.org/packages/MBW.Tools.ElephantProject) [![GHPackages](https://img.shields.io/badge/package-alpha-green)](https://github.com/LordMike/MBW.Tools.ElephantProject/packages/704608)\n\nDotnet tool to create an maintain solution files, optionally modifying projects to replace package references with project references. This enables you to perform tasks such as large-scale refactoring or to easier debug tricky bugs.\n\nThe tool works in two parts: \n\n* Modifying package references to project references, enabling cross-repository references. It is not intended for these replacements to be committed to source control.\n* Maintain solution files by following some spec. This will both add and remove projects from solution files, allowing you to easily maintain multiple solution files with each their own set of projects. This also ammends the previous point, by enabling you to create cross-repository solution files.\n\n## Installation\n\nRun `dotnet tool install -g MBW.Tools.ElephantProject`. After this, `elephant-project` should be in your PATH.\n\nRun `elephant-project --help` to get further details.\n\n## Usage: Rewrite project files\n\n\u003e elephant-project rewrite -d C:\\Root\\Directory\\\n\nThis command replaces `PackageReferences` in `csproj` files with `ProjectReferences`. The goal here is to enable compilation, linking and debugging between two (or more) distinct repositories that usually share code through nuget packages.\n\nYou can reverse the changes made during `rewrite`, by running `undo-rewrite` with the exact same arguments.\n\n## Usage: Create combined solution file\n\n\u003e elephant-project sln -d C:\\Root\\Directory\\ Full.sln\n\nThis command creates or modifies a solution file to contain the projects within the directory specified. You can further tweak the projects included using the globbing patterns for `--include` and `--exclude`. This could be to exclude certain projects, like test projects, or to only include some set of projects within the root directory.\n\nDependent projects are _always_ included in the resulting solution file - even if they are outside the root directory.\n\n# Tips\n\nUse `rewrite` first on the directory containing all your repositories. This replaces all nuget references with project references, between all repositories. Then use `sln` to create a new solution file that encompasses all projects in one go. Opening this solution file should now present you with all your projects in one common place.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flordmike%2Fmbw.tools.elephantproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flordmike%2Fmbw.tools.elephantproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flordmike%2Fmbw.tools.elephantproject/lists"}