在C#中,依赖项是如何管理的?例如,在Java中有maven(pom.xml),在JS中有NPM(Package.json),在C#中有Nuget……但是,C#中pom.xml的替代方案是什么呢?

那可能是.csproj文件吗?

推荐答案

.NET C#的包管理器是nuget

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

.NET过go 有一个包含项目包的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>

在Visual Studio中,Nuget包管理器可以直接管理包:

enter image description here enter image description here

Same can be done for the whole solution: enter image description here

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

nuget install Flurl -Version 3.0.6
dotnet add package Flurl --version 3.0.6

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

enter image description here

您可以从下拉列表中 Select 一个默认项目,然后拨打Install-Package.

通常,GitHub上的大多数库存储库都有一个指向nuget.org上的包的链接,或者有一个代码片段可以通过Nuget包管理器控制台直接安装包.

For example a random library flurl : enter image description here

Csharp相关问答推荐

Blazorise折线图仅绘制数据集的一部分

如何使用XmlSerializer序列化带有CDATA节的XML文件?

如何将字符串变量传递给JObject C#-无法加载文件或程序集';System.Text.Json

如何使用MailKit删除邮箱?

等待一个等待函数

为什么Azure函数(独立工作进程)索引失败?使用Azure App配置的CosmosDbTrigger绑定失败,未解析为值

ReadOnlyMemory访问基础索引的替代方案

此异步方法在重写方法中缺少等待运算符警告

如何在Polly重试策略成功之前将HttpClient请求排队?

使用未赋值的、传递的局部变量

如何使用ODP.NET C#设置Oracle会话时间长度限制

忽略Visual Studio代码中的StyleCop规则

如何使用.NET 8.0中新的CompositeFormat类?

无法向Unity注册Microsoft Logger

无效的Zip文件-Zip存档

SqlException:无法打开数据库.升级到Dotnet 8后-数据库兼容性版本-非EFCore兼容性级别

如何更改Datagridview行标题

为什么我不能在固定语句中使用外部函数?

从列表中跳过和获取条目的优雅方式

无法使用SignalR[ABP]验证Flutter应用程序