nuget包装csproj与nuspec之间的差异

最近,我开始从我的几个项目中打包nuget包。首先,我从PackageExplorer应用程序开始。这是一个很好的工具,但是如果您进行持续集成,它就没有那么有用了。然后我研究了如何指定nuspec模板文件,并将更改的数据(例如版本号)作为命令行参数传递。后来,我想知道如何定义nuget包依赖项。事实证明,如果您指定了一个csproj,nuget.exe已经基于package.config完成了这项工作。此外,它还从汇编信息中提取作者、版本、版权等相关数据。我现在缺少的是在命令行中指定licenseUrl的功能。但我希望这个问题更一般。所以我想问:

打包nuget软件包的首选方式是什么?

这里有一个鲜为人知的事实:您可以将两者结合起来!
以csproj文件为目标,确保同一目录中有一个与csproj文件同名的nuspec文件。NuGet将在包创建过程中合并这两者

简而言之:目标<项目名称>。csproj,可以选择添加相应的标记化<项目名称>。nuspec文件将被NuGet.exe用作元数据

它使您不必管理输出位置、依赖项、版本和其他可以从项目派生的内容

发表评论