我正在使用构建工具构建一个包:一个.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。
答案 0 :(得分:2)
使用-tool
选项。所以所有其他文件都放在tools
文件夹中。
nuget pack Acme.Build.Foo.csproj -tool