想象以下情况:
项目 A 有一些 NuGet 依赖项(即项目 Z、项目 Y 和项目 X)。它使用 PackageReferences。
现在我想使用 .nuspec 文件将项目 A 打包为 .nupkg。在 .nuspec 文件中,您可以声明其他 NuGet 依赖项,它们将在安装时自动解析。
但这有必要吗?我认为 PackageReferences 已经解决了它们。
想象以下情况:
项目 A 有一些 NuGet 依赖项(即项目 Z、项目 Y 和项目 X)。它使用 PackageReferences。
现在我想使用 .nuspec 文件将项目 A 打包为 .nupkg。在 .nuspec 文件中,您可以声明其他 NuGet 依赖项,它们将在安装时自动解析。
但这有必要吗?我认为 PackageReferences 已经解决了它们。
当您在项目中使用PackageReference
项目时,您不再需要.nuspec
文件来打包项目。你应该可以用dotnet pack -c Release
or打包它msbuild.exe -t:Pack -p:Configuration=Release
。(根据项目类型,您可能需要NuGet.Build.Tasks.Pack
为非基于 SDK 的 .NET Framework 项目安装。.NET Standard、Core、.NET 5+ 项目不应该需要这个)
不过,您仍然可以使用 .nuspec 文件,方法是NuspecFile
在 csproj 中指定一个属性来指示打包任务使用它。但是,它将覆盖 NuGet 将自动生成的所有设置——这是获得对.nuspec
.
如果您使用打包项目,PackageReference
您可以查看生成的.nuspec
文件,例如obj\Release\FooLib.1.0.0.nuspec
.