如何从csproj生成nuspec中的依赖项(或者nupkg包含其元数据中的依赖项)

5

假设有一个解决方案,包含项目A、B。

  • A以传统方式引用B(添加引用 -> 项目 -> B)。

  • B仅依赖于.NET框架库。

这是我所做的:

nuget pack A.csproj

它将生成A.nupkg,不包含
<dependencies>
      <dependency id="B" version="3.0" />
</dependencies>

我希望的是 A.nupkg 的元数据包含对 B 的依赖关系。
我知道你可以在A.csproj的同一文件夹下放置一个A.nuspec,并在其中设置对B的依赖。但这需要手动生成和维护。既然A.csproj已经知道B了,有没有不需要手动操作的方法呢?
又或者,
对此有什么建议吗?
2个回答

2
通过在MSBuild构建脚本中添加两个目标来实现此目标:
<GenSpecCommand>$(NuGetCommand) spec -Force</GenSpecCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -IncludeReferencedProjects</BuildCommand>

希望这对其他人有用。


-1
您可以这样使用"$version$"。
<dependencies>
  <dependency id="YourPackage.Name" version="$version$" />
</dependencies>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接