0

想象以下情况:

项目 A 有一些 NuGet 依赖项(即项目 Z、项目 Y 和项目 X)。它使用 PackageReferences。

现在我想使用 .nuspec 文件将项目 A 打包为 .nupkg。在 .nuspec 文件中,您可以声明其他 NuGet 依赖项,它们将在安装时自动解析。

但这有必要吗?我认为 PackageReferences 已经解决了它们。

4

1 回答 1

1

当您在项目中使用PackageReference项目时,您不再需要.nuspec文件来打包项目。你应该可以用dotnet pack -c Releaseor打包它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.

于 2021-04-15T17:40:30.233 回答