NuGet 是 .NET 生态系统的包管理器,用于管理项目依赖项。在开发过程中,NuGet 包通常会被下载到项目的 packages
文件夹或全局包缓存中。
.gitignore
(Git)在 .gitignore
文件中添加以下内容:
# NuGet packages
**/[Pp]ackages/*
!**/[Pp]ackages/repositories.config
*.nupkg
.tfignore
(TFVC)在 .tfignore
文件中添加:
\packages
*.nupkg
确保项目配置为自动恢复 NuGet 包:
在 解决方案
> 右键
> 属性
> NuGet 包恢复
中启用:
或在 Directory.Build.props
文件中添加:
<Project>
<PropertyGroup>
<RestorePackages>true</RestorePackages>
<RestoreProjectStyle>PackageReference</PackageReference>
</PropertyGroup>
</Project>
使用 PackageReference
格式而不是 packages.config
:
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
原因:包未正确恢复 解决:
dotnet restore
或 nuget restore
原因:未正确配置包恢复 解决:
nuget.config
文件:<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
</configuration>
解决:
.gitignore
中添加例外:!packages/MySpecialPackage.1.0.0/
PackageReference
而非 packages.config
dotnet nuget locals all --clear
)通过以上方法,您可以有效地从源代码管理中排除 NuGet 包,同时确保项目的可构建性。
没有搜到相关的文章