如何创建仅包含文件的nupkg?

时间:2016-08-18 15:58:55

标签: nuget nuget-package

我正在尝试创建一个只部署构建系统和一般开发人员实用程序使用的一些脚本的NuGet包。

这里是.nuspec文件内容:

<?xml version="1.0"?>
<package>
  <metadata>
    <id>Some.Scripts</id>
    <version>1.0.0.0</version>
    <title>Some Script Library</title>
    <authors>Some Developers</authors>
    <owners>Some Developers</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Contains scripts for general use in coding or build and deploy automation.</description>
    <releaseNotes>Initial release.</releaseNotes>
    <copyright>Copyright 2015</copyright>
    <tags>PowerShell scripts automation TeamCity build tools</tags>    
  </metadata>
  <files>
    <file src=".scripts\**\*" target=".scripts\" />
  </files>  
</package>

磁盘上的文件夹结构是:

\GitRepos\Some-Scripts\
\GitRepos\Some-Scripts\Some.Scripts.nuspec
\GitRepos\Some-Scripts\.git
\GitRepos\Some-Scripts\.scripts\
\GitRepos\Some-Scripts\.scripts\someScript.ps1

NuGet.exe 3.3.0.212生成此错误消息:

  

无法创建没有依赖关系或内容的包

我甚至可以做什么?

更新

我最初发布了一个答案:

  

好的,我想我找到了问题。它不像源文件夹.scripts中的前导时期,尽管它在目标文件夹中很酷。

虽然实际上解决了一半的问题。虽然它创建了一个包并且文件在其中(在WinZip中查看),但安装失败了:

  

无法安装包&#39; Some.Scripts 1.0.0&#39;。您正在尝试将此软件包安装到针对.NETFramework,Version = v4.6.1&#39;的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请与软件包作者联系。

更新2

在NuGet GitHub上发现了这个错误报告,但是在一个对我来说似乎无关的领域工作之后它就被关闭了。

https://github.com/NuGet/Home/issues/1021

1 个答案:

答案 0 :(得分:1)

将一个虚拟文件添加到/ lib,例如<file src="foo.txt" target="lib/" />

请参阅:https://stackoverflow.com/a/38221710/52479