我正在尝试使用以下Cake脚本:
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
});
}
});
但是我不断收到同样的错误:
我已经确认生成的*.temp.nuspec
文件确实包含正确的文件,并且这些文件存在于指定位置,并且BasePath是正确的。
注意:我曾经用来-Verbosity Diagnostic
生成传递给NuGet.exe的实际命令,并且直接运行它还会导致相同的错误消息。结果,我不认为这直接与Cake有关,而与NuGet.exe有关。
原来,这是我使用的目录路径的错误。我正在尝试使用.build\_temp\_PublishedLibraries\Cake.Twitter
。
更改.build
为BuildArtifacts
立即使一切正常:
经过一些挖掘之后,这似乎是NuGet的一个已知问题(至少有些人知道):
https://twitter.com/ferventcoder/status/505048107520765765952
即.
nuget pack无法识别以开头的任何文件或文件夹。
似乎此问题已在Chocolatey中得到纠正,因此,它可以在此处工作。
注意:我在这里提出了这个问题:https : //github.com/NuGet/Home/issues/3308
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句