dotnet add reference

添加项目到项目的引用。

执行添加项目引用后,<ProjectReference> 元素会被添加到项目文件中。

<ItemGroup>
    <ProjectReference Include="app.csproj" />
    <ProjectReference Include="..\lib2\lib2.csproj" />
    <ProjectReference Include="..\lib1\lib1.csproj" />
</ItemGroup>
参数

PROJECT

添加引用的项目。如果没指定,默认为当前目录中的项目。

// app 项目引用 lib 项目
dotnet add app/app.csproj reference lib/lib.csproj

// app 项目引用 lib 项目,不指定项目文件
dotnet add reference ../lib/lib.csproj

PROJECT_REFERENCES

被引用的项目。可以使用通配符匹配指定多个项目。通配符匹配只支持基于 Unix/Linux 的终端。

// app 项目引用 lib1 和 lib2 项目
dotnet add app/app.csproj reference lib1/lib1.csproj lib2/lib2.csproj

// app 项目引用匹配的项目
dotnet add app/app.csproj reference **/*.csproj
选项

-h|--help

打印帮助信息。

dotnet add reference -h

-f|--framework <FRAMEWORK>

仅针对特定框架添加引用。

假如 app 项目中指定了 netcoreapp1.1 和 netcoreapp2.0 两个目标框架,lib 项目中指定了 netstandard2.0,如果 app 直接引用 lib 会有兼容性问题,那么,可以只针对 netcoreapp2.0 引用 lib。

dotnet add app/app.csproj reference lib/lib.csproj --framework netcoreapp2.0

执行上面的命令后,项目文件中的引用如下。

  <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
    <ProjectReference Include="..\lib\lib.csproj" />
  </ItemGroup>

dotnet list reference

列出项目中的引用。

参数

PROJECT

要列举引用的项目。如果不指定,默认为当前目录中的项目。

// 列举指定项目的引用
dotnet list app/app.csproj reference

//列举当前目录中项目的引用
dotnet list reference

dotnet remove reference

移除项目引用。

dotnet remove reference 和 dotnet add reference 参数选项都一样,一个移除引用,一个添加引用。

// 从 app 项目中移除 lib
dotnet remove app/app.csproj reference lib/lib.csproj

// 从当前目录中的项目中移除 lib1 和 lib2
dotnet remove reference ../lib1/lib1.csproj ../lib2/lib2.csproj

// 从 app 项目中移除匹配的项目
dotnet remove app/app.csproj reference **/*.csproj