为什么nuget没有添加我的文件?

时间:2017-09-27 10:17:39

标签: nuget nuget-package nuget-server nuget-spec

我有这个nuspec文件:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>My.Package</id>
    <version>1.0.1.7</version>
    <title>My Package</title>
    <authors>My name</authors>
    <owners>Mu author</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>My description</description>
    <releaseNotes>Release note</releaseNotes>
    <copyright>Copyright 2017</copyright>
    <tags>tag1 tag2</tags>
    <contentFiles>
      <files include="myFile.config" copyToOutput="true" />
    </contentFiles>
  </metadata>
  <files>
    <file src="myFile.config" target=""/>
  </files> 
</package>

当我打包这个nuspec文件时,我的nupkg文件被创建,在NuGet Package Explorer中,我看到myFile.config包含在我的包中。到目前为止一直很好。

但是,当我安装此软件包时,dll会添加到引用中,但myFile.config不会添加到解决方案中。

我尝试过的事情没有成功: - 查看磁盘上的文件夹,看看是否创建了myFile.config(不存在) - <file src="myFile.config" target="."/> - <file src="myFile.config" target=".\"/>

我还希望该文件设置Copy to Output DirectoryCopy always

我在这里缺少什么?

PS:我正在开发私人nuget服务器。

1 个答案:

答案 0 :(得分:1)

目标需要为content,因为nugpkg的content子目录中的文件被复制到使用项目中。

请注意,这仅适用于使用packages.config样式引用NuGet包的项目。对于PackageReference(在VS 2017中可用,.NET Core / ASP.NET Core / .NET Standard项目的默认设置),有一个新的contentFiles功能,在构建过程中逻辑上包含文件。

有关详细信息,请参阅NuGet的documentation on including content files