C# 中如何管理依赖关系?

Jos*_*eph 1 .net c# maven nuget

C# 中如何管理依赖关系?例如,在java中有maven(pom.xml),在JS中有npm(package.json),在C#中有nuget...但是C#中pom.xml的替代品是什么?

那可能是 .csproj 文件吗?

som*_*men 7

.NET C# 的包管理器是nuget

请参阅: https: //learn.microsoft.com/en-us/nuget/what-is-nuget

.NET 曾经有一个包含项目包的 package.json 文件,但现在这些包直接定义在 .csproj 文件中。例如:

<ItemGroup>
    <PackageReference Include="AspNetCore.HealthChecks.Hangfire" Version="6.0.2" />
    <PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="6.0.2" />
    <PackageReference Include="AspNetCore.HealthChecks.System" Version="6.0.5" />
    <PackageReference Include="AspNetCore.HealthChecks.Uris" Version="6.0.3" />
    <PackageReference Include="AutoMapper" Version="12.0.0" />
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.0" />
    <PackageReference Include="Hangfire.AspNetCore" Version="1.7.32" />
    <PackageReference Include="Hangfire.Console" Version="1.4.2" />
    <PackageReference Include="Hangfire.SqlServer" Version="1.7.32" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.11" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

可以通过 nuget 包管理器在 Visual Studio 中直接管理包:

在此输入图像描述 在此输入图像描述

整个解决方案也可以这样做: 在此输入图像描述

从命令行,您可以使用 nuget.exe 或 dotnet.exe;

nuget install Flurl -Version 3.0.6
dotnet add package Flurl --version 3.0.6
Run Code Online (Sandbox Code Playgroud)

还有集成到 Visual Studio 中的 nuget 包管理器控制台:

在此输入图像描述

您可以从下拉列表中选择默认项目,然后调用Install-Package.

一般来说,github 上的大多数库存储库都有一个指向 nuget.org 上的包的链接,或者有一个通过 nuget 包管理器控制台直接安装包的代码片段。

例如随机库flurl在此输入图像描述