我正在尝试使用以下蛋糕脚本:
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 是正确的。
NOTE:我用过-Verbosity Diagnostic
生成传递给 NuGet.exe 的实际命令,直接运行也会导致相同的错误消息。因此,我认为这不是 Cake 直接的问题,而是 NuGet.exe 的问题。
事实证明,这是我使用的目录路径的错误。我试图使用.build\_temp\_PublishedLibraries\Cake.Twitter
.
改变.build
to BuildArtifacts
立即使一切正常:
经过一番挖掘后,这似乎是 NuGet 的一个已知问题(至少对某些人来说是众所周知的):
https://twitter.com/ferventcoder/status/505048107520765952 https://twitter.com/ferventcoder/status/505048107520765952
即任何以 a 开头的文件或文件夹.
nuget pack 无法识别。
看来这个问题已经在 Chocolatey 中得到了纠正,因此它可以在那里工作。
NOTE:我在这里提出了这个问题:https://github.com/NuGet/Home/issues/3308 https://github.com/NuGet/Home/issues/3308
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)