JustBuild
JustBuild is a Visual Studio extension for building solutions and projects in large enterprise-scale monorepositories where implicit dependencies, HintPath references, generated tools, and build artifacts are not fully visible to standard MSBuild project graphs.
What It Does
JustBuild adds commands to Visual Studio for building implicit dependencies before your target solution or project:
- Build
<ProjectName> Implicit Dependencies Build menu command
- Build Solution Implicit Dependencies Build menu command
- Build Implicit Dependencies Solution Explorer context menu command
When invoked, JustBuild analyzes the selected solution or project and delegates the work to the bundled JustBuild command-line tool. The extension is built on the JustBuild .NET tool, available on nuget.org under the package name justbuild.
JustBuild complements the standard Visual Studio build workflow: it discovers and builds missing implicit dependencies first, then lets the normal build continue.
Why It Exists
Large enterprise repositories often avoid ProjectReference links because they can make Visual Studio slower and harder to work with. Instead, projects may reference already-built .dll files through HintPath.
That keeps the IDE responsive, but it hides the dependency graph. When a referenced binary is stale or missing, you are left figuring out which project needs to be built first.
JustBuild is built for that gap.
Key Features
Automatic HintPath Dependency Resolution
JustBuild analyzes project files and referenced artifacts to discover hidden dependencies that normal Visual Studio build commands do not see.
It is especially useful when projects reference built binaries instead of source projects, making dependencies invisible to Visual Studio and MSBuild.
Repository-Scoped Dependency Discovery
Both the Visual Studio extension and the JustBuild command-line tool limit the search for projects that produce dependencies to the Git repository that contains the target project. The tool detects the repository root and searches only among projects inside that repository.
This keeps dependency discovery predictable and prevents JustBuild from scanning unrelated checkouts, sibling repositories, or arbitrary folders on disk.
Self-Healing Broken Builds
If a build fails because a required executable or library is missing, JustBuild can analyze the failure, locate the project that produces the missing artifact, build it, and retry the original build.
Artifact-Based Build Targeting
JustBuild can work from a solution, a project, or an artifact path. When given an artifact, it locates the producing project and builds what is required.
Local-Only Operation
JustBuild runs locally. It does not upload repository structure, source code, build logs, or dependency data.
When To Use It
Use JustBuild when a solution or project fails because a referenced binary, generated tool, or build artifact has not been produced yet, and the producing project exists elsewhere in the same repository.
What It Does Not Do
JustBuild does not modify project files, add ProjectReference items, or change repository structure. It builds the required producer projects for the current build operation.
Status
JustBuild is currently in beta. It is intended for teams that understand their repository layout and want a faster inner loop for complex .NET builds.