dotnet publish,contentFiles和transitive nuget依赖项

时间:2017-08-30 21:58:15

标签: msbuild nuget .net-core

dotnet publish是否可以将contentFiles复制到传递包依赖项的输出中?

在这种情况下,我有三个项目:

  1. 内容,其nuspec包含:
  2. <contentFiles>
      <files include="any/any/someContent.txt" buildAction="None" copyToOutput="true" flatten="false"/>
    </contentFiles>
    
    1. Lib,其内容为PackageReference nuget
    2. ConsoleApp,其中包含PackageReference到Lib nuget
    3. Lib项目在项目资源管理器中显示contentFiles并在构建时复制到输出,但ConsoleApp项目都没有。

      我需要dotnet publish ConsoleApp.csproj在发布输出中包含内容nuget中的someContent.txt

      有关上下文的相关帖子:

1 个答案:

答案 0 :(得分:4)

默认情况下,

contentFiles是私有资产。您需要将引用中的PrivateAssets元数据从Lib更改为Content,以便它不包含contentFiles,如下所示:

<ProjectReference Include="...">
    <PrivateAssets>analyzers;build</PrivateAssets>
</ProjectReference>

此处提供更多信息:https://docs.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files#controlling-dependency-assets