dotnet-add-reference - Man Page
Adds project-to-project (P2P) references.
Examples (TL;DR)
- Add a reference to the project in the current directory:
dotnet add reference path/to/reference.csproj
- Add multiple references to the project in the current directory:
dotnet add reference path/to/reference1.csproj path/to/reference2.csproj ...
- Add a reference to the specific project:
dotnet add path/to/project.csproj reference path/to/reference.csproj
- Add multiple references to the specific project:
dotnet add path/to/project.csproj reference path/to/reference1.csproj path/to/reference2.csproj ...
dotnet add reference
This article applies to: ✔️ .NET Core 3.1 SDK and later versions
Synopsis
dotnet add [<PROJECT>] reference [-f|--framework <FRAMEWORK>] [--interactive] <PROJECT_REFERENCES> dotnet add reference -h|--help
Description
The dotnet add reference
command provides a convenient option to add project references to a project. After running the command, the <ProjectReference>
elements are added to the project file.
<ItemGroup> <ProjectReference Include="app.csproj" /> <ProjectReference Include="..\lib2\lib2.csproj" /> <ProjectReference Include="..\lib1\lib1.csproj" /> </ItemGroup>
Add a reference to an assembly that isn’t in a project
There’s no CLI command to add a reference to an assembly that isn’t in a project or a package. But you can do that by editing your .csproj file and adding markup similar to the following example:
<ItemGroup> <Reference Include="MyAssembly"> <HintPath>.\MyDLLFolder\MyAssembly.dll</HintPath> </Reference> </ItemGroup>
Arguments
PROJECT
Specifies the project file. If not specified, the command searches the current directory for one.
PROJECT_REFERENCES
Project-to-project (P2P) references to add. Specify one or more projects. Glob patterns (https://en.wikipedia.org/wiki/Glob_(programming)) are supported on Unix/Linux-based systems.
Options
-f|--framework <FRAMEWORK>
Adds project references only when targeting a specific framework using the TFM format.
-?|-h|--help
Prints out a description of how to use the command.
--interactive
Allows the command to stop and wait for user input or action. For example, to complete authentication. Available since .NET Core 3.0 SDK.
Examples
Add a project reference:
dotnet add app/app.csproj reference lib/lib.csproj
Add multiple project references to the project in the current directory:
dotnet add reference lib1/lib1.csproj lib2/lib2.csproj
Add multiple project references using a globbing pattern on Linux/Unix:
dotnet add app/app.csproj reference **/*.csproj