首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nuget包装与nuspec的区别

nuget包装与nuspec的区别
EN

Stack Overflow用户
提问于 2013-02-10 12:04:54
回答 4查看 36.6K关注 0票数 61

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

,什么是包装nuget包的首选方法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-11 08:05:25

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

因此,简而言之:目标<ProjectName>.csproj,可以选择添加一个相应的http://docs.nuget.org/docs/reference/nuspec-reference#Replacement_Tokens <ProjectName>.nuspec文件,以作为NuGet.exe的元数据。

它可以帮助您避免管理输出位置、依赖项、版本和其他可以从项目派生的内容。

票数 99
EN

Stack Overflow用户

发布于 2013-02-10 14:06:40

对于简单的包,可以直接在.csproj.vbproj上创建包。但是对于更多的高级包,特别是当您需要将自定义文件放入包中时,您需要使用.nuspec。我通常从csproj开始,根据需要迁移到nuspec。您始终可以使用csproj上的命令nuget spec获取nuspec。

https://docs.nuget.org/create/creating-and-publishing-a-package

可以使用licenseUrlProperties参数指定任何属性,包括nuget pack

代码语言:javascript
复制
nuget pack -properties licenseUrl=http://blah
票数 18
EN

Stack Overflow用户

发布于 2017-02-03 00:41:21

使用Visual 2017的.csproj,您不需要.nuspec文件。实际上,您可以将这些值直接添加到csproj中,然后它将获取它们。

右键单击Visual中的项目,编辑xxxxx.csproj。记事本也很好。

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <Version>1.0.1</Version>
    <authors>Subtracts</authors>
    <TargetFrameworks>netstandard1.6;net452</TargetFrameworks>
    <AssemblyName>Checkout.net</AssemblyName>
    <PackageId>Checkout.net</PackageId>

...

</Project>

附注:由于我没有足够的声誉来发表评论,所以我会留下一个答案,而不是对泽维尔的回答发表评论。:)

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14797525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档