使用 Cake 创建 Nuget 包并仅打包 dll

Creating a Nuget package with Cake and packing only dlls

当我通过 myPath\nuget.exe pack -Prop Configuration=Release 从命令提示符创建 nuget 包时,我的 nuget 包只包含 DLL 而没有其他内容;就像我想要的那样。

当我用 Cake 创建 Nuget 包时,项目文件夹中的每个文件都包含在内。
如何让 Cake Nuget 只包含我的 dll?表现得像命令提示符。


在文件build.cake中我有

Task("Package")
    .Does(() =>{
        NuGetPack("../CompulsoryCow/CompulsoryCow.nuspec", new NuGetPackSettings{
            Id = "CompulsoryCow",
            Authors = new []{ "LosManos" }, 
            Version = "1.0.0", 
            Description = "TBD", 
            Verbosity = NuGetVerbosity.Detailed,
        }
    );
});

我的 CompulsoryCow.nuspec 文件,适用于 nuget.exe pack

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <licenseUrl>https://raw.githubusercontent.com/LosManos/CompulsoryCow/master/License.txt</licenseUrl>
    <projectUrl>https://github.com/LosManos/CompulsoryCow</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <summary>...</summary>
    <releaseNotes>...</releaseNotes>
    <copyright>LGPLv3+NoEvil.</copyright>
    <repository type="git" url="https://github.com/LosManos/CompulsoryCow" />
  </metadata>
</package>

更新:

我将 BasePath 添加到 NuGetPackSettings 以指向我拥有 DLL 和 PDB 的 ..bin/release 文件夹。它打包了更多文件,但我认为它表现良好。

输出:

Added file '[Content_Types].xml'.
Added file '_rels/.rels'.
Added file 'CompulsoryCow.dll'.
Added file 'CompulsoryCow.nuspec'.
Added file 'CompulsoryCow.pdb'.
Added file 'package/services/metadata/core-properties/3a1990a4516a46118d81f4bd5961a767.psmdcp'.

我改为使用 CompulsoryCow.csproj,然后它的行为就像从命令提示符调用时一样。 DLL 已打包但 PDB 未打包。
在旁注中,它从 nugetspec 文件中获取 ID、作者、版本和描述;当我使用 CompulsoryCow.nuspec.

时它没有做的事情
Added file '[Content_Types].xml'.
Added file '_rels/.rels'.
Added file 'CompulsoryCow.nuspec'.
Added file 'lib/net40-client/CompulsoryCow.dll'.
Added file 'package/services/metadata/core-properties/c4d7ab4804fb417e8e5f9fa4d0062c74.psmdcp'.