指定要复制到所有引用项目的非dll' NuGet包中的bin文件夹

时间:2016-06-21 11:54:56

标签: nuget nuspec

我有两个解决方案,Foo和Bar。

Foo,Foo.A中的一个项目输出一个nuget包,我们的构建服务器推送到内部nuget feed。 Bar,Bar.A中的一个项目引用了这个nuget包。

Foo.A包含一个配置文件,我希望在构建时将其复制到Bar.A的bin输出文件夹中。为此,我提出了以下nuspec

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Foo.A</id>
    <!-- rest of metadata omitted -->
    <contentFiles>
      <files include="Config/*.config" buildAction="None" copyToOutput="true" flatten="false" />
    </contentFiles>
  </metadata>

  <files>
    <file src="bin\$Configuration$\*.dll" target="lib" />
    <file src="bin\$Configuration$\*.pdb" target="lib" />
    <file src="Config\*.config" target="lib\Config" />
  </files>
</package>

这会创建一个包含内部结构的包:

Foo.A.nupkg
|-- lib
|    |-- Config
|    |    +-- Foo.A.config
|    |-- Foo.A.dll
|    +-- Foo.A.pdb
+-- Foo.A.nuspec

上面的nuspec中的元数据部分保存在Foo.A.nuspec中,但文件部分已经消失。

当我在Bar.A中导入此包并进行构建时,我将Foo.A中的dll和pdb文件复制到bin文件夹,而不是Config目录。

我已经多次阅读了nuspec reference的相关部分,但我没有更明智。

我需要做些什么来实现这个目标?

0 个答案:

没有答案
相关问题