打包仅构建工具包

时间:2015-11-20 01:54:46

标签: nuget

我正在使用构建工具构建一个包:一个.prop和一个.target文件,以及一个带有MSBuild任务的dll。我将这些文件指定放在nuspec文件的build部分的<file>文件夹中:

<files>
  <file src="bin\Release\Acme.Build.Foo.dll" target="build" />
  <file src="MSBuild\Acme.Build.Foo.props"   target="build" />
  <file src="MSBuild\Acme.Build.Foo.targets" target="build" />
</files>

nuspec文件Acme.Build.Foo.nuspec位于Acme.Build.Foo.csproj旁边。

如果我使用nuget pack Acme.Build.Foo.csproj,则dll文件也会打包到包的lib/文件夹中,并在将包添加到目标项目时添加为fererence。

如果我使用nuget pack Acme.Build.Foo.nuspec,我会失去关键字扩展的细节,如$id$等。

我能兼顾两者吗?是否有可能(1)阻止项目输出自动进入lib/.../或(2)如果没有,至少可以防止该文件被添加为消费项目的参考?

我使用的是最新的NuGet 3.2.0.10516。

1 个答案:

答案 0 :(得分:2)

使用-tool选项。所以所有其他文件都放在tools文件夹中。

nuget pack Acme.Build.Foo.csproj -tool