c# - nuget-packing a csproj 与 nuspec 之间的区别

标签 c# .net nuget

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

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

最佳答案

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

简而言之:目标<ProjectName>.csproj ,可选择添加相应的 tokenized <ProjectName>.nuspec NuGet.exe 用作元数据的文件。

它使您无需管理输出位置、依赖项、版本和其他可以从项目派生的东西。

关于c# - nuget-packing a csproj 与 nuspec 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14797525/

相关文章:

c# - TcpListener 如何获取已连接的客户端?

c# - Accord.NET Framework 中的多个绘图

c# - WPF C#将所有I/O音频设备静音/取消静音

nuget - 如果已删除,则从 NuGet 获取 DLL

powershell - 在 Visual Studio Nuget 包管理器控制台中中止 "unclosed"powershell 命令

c# - 依赖注入(inject) : What should be injected where?

c# - .NET Core 中的 Nuget 依赖项

c# - 通过 Nuke.Common/NuGet.CommandLine 部署 NuGet 包时如何通过 Azure Auth

c# - 在 C# 的对象列表中打印出 1 个对象

c# - 启动时动态决定Winforms还是Wpf?