如何创建Nuget常用包集合实现分组一次性批量安装
NuGet常用包批量安装实现方案
支持,目前有多种成熟的实现方式可以满足需求,以下是常用的几种方案:
- 方案1:dotnet CLI/PowerShell 批量安装脚本(灵活度最高,适合单个项目快速安装)
你可以预先把常用NuGet包整理成批量安装脚本,新建项目后在项目目录执行脚本即可一次性安装所有包,示例脚本如下:
# 自定义你的常用包列表,可按需增删、指定版本 $commonPackages = @( "Serilog", "Serilog.AspNetCore", "Serilog.Sinks.Console", "Serilog.Sinks.File", "Serilog.Enrichers.Environment" ) # 遍历批量安装 foreach ($pkg in $commonPackages) { dotnet add package $pkg # 如需固定版本改为:dotnet add package $pkg --version 3.1.1 }
注意:如果是.NET Framework项目,可以把命令替换为NuGet CLI的nuget install $pkg命令执行
- 方案2:Directory.Build.props 全局自动引用(适合同解决方案下多项目统一依赖场景)
如果你的多个项目都需要使用相同的依赖包,可以在解决方案根目录创建Directory.Build.props文件,配置后该解决方案下所有新建/现有项目都会自动引用清单内的包,无需手动安装,示例配置如下:
<Project> <ItemGroup> <!-- 所有要批量引用的NuGet包都写在这里,可指定固定版本统一管控 --> <PackageReference Include="Serilog" Version="3.1.1" /> <PackageReference Include="Serilog.AspNetCore" Version="8.0.0" /> <PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" /> </ItemGroup> </Project>
- 方案3:自定义dotnet项目模板(适合高频新建同类型项目的场景)
你可以把常用的项目结构、依赖包、基础配置预先配置好,导出为本地自定义项目模板,后续新建项目时直接使用该模板,所有预设的NuGet包都会自动安装完成,无需额外操作:
- 新建一个空白项目,提前安装好所有常用NuGet包,配置好基础代码
- 在项目根目录创建
.template.config文件夹,新增template.json配置模板信息 - 执行
dotnet new install .命令将当前项目安装为本地模板 - 后续新建项目直接执行
dotnet new 你设置的模板短名称即可完成创建
- 方案4:Visual Studio 包管理器控制台批量安装
如果你习惯使用Visual Studio的包管理器控制台,可以执行以下命令批量安装:
$packages = @("Serilog","Serilog.AspNetCore","Serilog.Sinks.Console") $packages | ForEach-Object { Install-Package $_ }
内容的提问来源于stack exchange,提问作者Lynchie
相关产品推荐
相关产品推荐

