【问题标题】:How to generate dependencies in nuspec (or nupkg contains dependencies in its metadata) from csproj如何从 csproj 在 nuspec 中生成依赖项(或 nupkg 在其元数据中包含依赖项)
【发布时间】:2013-05-07 07:29:52
【问题描述】:
说有一个解决方案,包含项目A、B。
这是我的工作:
nuget pack A.csproj
它会生成A.nupkg 没有
<dependencies>
<dependency id="B" version="3.0" />
</dependencies>
我想要的是 A.nupkg 在其元数据中包含对 B 的依赖。
我知道你可以在A.csproj的同一个文件夹下放置一个A.nuspec,并在A.nuspec中设置对B的依赖。但是生成和维护需要手动工作。既然 A.csproj 知道 B,有没有什么方法可以无需手动完成?
或者
对此有何建议?
【问题讨论】:
标签:
c#
dependencies
continuous-integration
nuget
【解决方案1】:
通过在 MSBuild 构建脚本中添加两个目标来实现:
<GenSpecCommand>$(NuGetCommand) spec -Force</GenSpecCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -IncludeReferencedProjects</BuildCommand>
希望对其他人有用。
【解决方案2】:
你可以像这样使用“$version$”
<dependencies>
<dependency id="YourPackage.Name" version="$version$" />
</dependencies>