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

时间:2013-05-13 09:45:56

标签: c# dependencies continuous-integration nuget

说有一个解决方案,包含项目A,B。

  • 以传统方式引用的B. (添加参考 - >项目 - > B)

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

以下是我的工作:

nuget pack A.csproj

它将生成没有

的A.nupkg
<dependencies>
      <dependency id="B" version="3.0" />
</dependencies>

我想要的是A.nupkg 在其元数据中包含对B的依赖。

我知道你可以将A.nuspec放在A.csproj的同一个文件夹下,并在A.nuspec中设置对B的依赖。但是生成和维护需要手动工作。由于A.csproj知道B,有没有办法可以没有手动工作?

对此有何建议?

2 个答案:

答案 0 :(得分:1)

通过在MSBuild构建脚本中添加两个目标来实现此目的:

<GenSpecCommand>$(NuGetCommand) spec -Force</GenSpecCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -IncludeReferencedProjects</BuildCommand>

希望它对其他人有用。

答案 1 :(得分:0)

您可以使用&#34; $ version $&#34;,就像这样

<dependencies>
  <dependency id="YourPackage.Name" version="$version$" />
</dependencies>