使用NuGet contentFiles复制文件以构建输出目录

时间:2017-11-23 09:46:37

标签: visual-studio nuget nuget-package csproj

我需要我的NuGet包将文件添加到项目中并设置其"复制到输出目录" 标记。

到目前为止,我正在使用install.ps1脚本,如answer by @workabyte to Set content files to “copy local : always” in a nuget package中所示。

但我已经了解NuGet 3.3及更新版本使用其contentFiles model获得原生支持。

我的理解是我创建了一个目录结构,如:

contentFiles\
  any\
    any\
      image.png

然后在我的.nuspec

<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    ...
    <contentFiles>
      <files include="**/*.png" buildAction="None" copyToOutput="true" />
    </contentFiles>
  </metadata>
</package>

编译包时,image.png及其目录结构将添加到.nupkg

但是,当我在Visual Studio(2017)中安装软件包时,image.png甚至没有添加到项目中。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

仅在使用contentFiles&#34;样式&#34;时才支持PackageReference功能引用NuGet包。它不适用于使用packages.config的项目(不是说在编写本文时没有迁移路径,除了卸载所有软件包,更改类型并再次安装所有软件包)。

请参阅NuGet的博客文章"NuGet is now fully integrated into MSBuild",特别是第34节&#34;其他不是.NET Core的项目类型怎么样?&#34;有关如何设置引用NuGet包的首选方法的说明。