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

ecbunoof  于 2022-12-17  发布在  Maven
关注(0)|答案(2)|浏览(216)

C#中如何管理依赖关系?例如,Java中有maven(pom.xml),JS中有npm(package.json),C#中有nuget...但是C#中pom.xml的替代方案是什么?
这可能是.csproj文件吗?

yvfmudvl

yvfmudvl1#

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>

包可以直接在visual studio中由nuget包管理器管理:
第一节第一节第一节第一节第一次
对于整个解决方案也可以这样做:

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

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

还有集成到visual studio的nuget包管理器控制台:

您可以从下拉列表中选择一个默认项目,然后调用Install-Package
一般来说,github上的大多数库都有一个到www.example.com上的包的链接nuget.org或者有一个代码片段,可以通过nuget包管理器控制台直接安装包。
例如,随机库flurl

tjrkku2a

tjrkku2a2#

作为对@sommmen回答的补充-.NET中最近增加了一个包管理-central package management,它允许通过Directory.Packages.props文件集中管理C#解决方案中的包版本。

相关问题