2016-08-12 19 views
3

我嘗試使用下面的蛋糕腳本:爲什麼NuGetPack響應「不能創建一個沒有依賴關係,也沒有內容的包」

Task("Create-NuGet-Packages") 
    .IsDependentOn("Build") 
    .WithCriteria(() =>DirectoryExists(parameters.Paths.Directories.NugetNuspecDirectory)) 
    .Does(() => 
{ 
    var nuspecFiles = GetFiles(parameters.Paths.Directories.NugetNuspecDirectory + "/**/*.nuspec"); 

    EnsureDirectoryExists(parameters.Paths.Directories.NuGetPackages); 

    foreach(var nuspecFile in nuspecFiles) 
    { 
     // TODO: Addin the release notes 
     // ReleaseNotes = parameters.ReleaseNotes.Notes.ToArray(), 

     // Create packages. 
     NuGetPack(nuspecFile, new NuGetPackSettings { 
      Version = parameters.Version.SemVersion, 
      BasePath = parameters.Paths.Directories.PublishedLibraries.Combine(nuspecFile.GetFilenameWithoutExtension().ToString()), 
      OutputDirectory = parameters.Paths.Directories.NuGetPackages, 
      Symbols = false, 
      NoPackageAnalysis = true 
     }); 
    } 
}); 

但我不斷收到同樣的錯誤:

Error returned from NuGetPack

我確認生成的*.temp.nuspec文件確實包含正確的文件,並且文件存在於指定的位置,並且BasePath正確。

注:我已經使用-Verbosity Diagnostic生成被傳遞給NuGet.exe實際的命令,並運行直接也導致同樣的錯誤消息。因此,我認爲這不是Cake的直接問題,而是NuGet.exe的問題。

+0

確保您使用的是最新的NuGet。你可以運行'nuget update -self'來安裝最新版本。 –

回答

5

原來,這是我使用的目錄路徑的錯誤。我試圖使用.build\_temp\_PublishedLibraries\Cake.Twitter

更改.buildBuildArtifacts立即作出一切工作:

enter image description here

做挖一點點之後,這似乎是一個已知問題的NuGet(以及至少知道一些):

https://twitter.com/ferventcoder/status/505048107520765952

即,以.開頭的任何文件或文件夾都不會被nuget包識別。

看起來這個問題已經在Chocolatey中得到糾正,因此它在那裏工作。

注:我提出這是這裏的問題:https://github.com/NuGet/Home/issues/3308

0

如果你只是指定的<file src屬性不好的路徑/規範,收集的NuGet沒有文件這個錯誤也可以看出。

相關問題