也许是一个转储问题。Cake声称它是一个可以用 C# 编写的构建自动化系统。我实际上玩了一下,现在想知道是否可以在 build.cake 中调用 .Net 方法。当时我有以下build.cake:
var target = Argument("target", "Default");
Task("NuGet")
.Does(() =>
{
// Get local directory
// Get all packages.config files in local directory
// Call nuget restore for every file
var currentDir = System.IO.GetCurrentDirectory(); // This doesn't work
var allPgkConfigs = System.IO.Directory.GetFiles(currentDir, "packages.config", System.IO.SearchOption.AllDirectories); // This doesn't work
foreach (var pgk in allPgkConfigs)
{
// GetNuGetPackageId(pkg);
}
});
Task("Build")
.Does(() =>
{
MSBuild("MySolution.sln");
});
RunTarget(target);
调用时build.ps1 -target nuget
出现以下错误:
PS C:\> .\build.ps1 -Target nuget
Preparing to run build script...
Running build script...
Analyzing build script...
Processing build script...
Compiling build script...
Error: C:/Users/Mewald-T550/XAP_Playground/build.cake(6,26): error CS0234: The type or namespace name 'GetCurrentDirectory' does not exist in the namespace 'System.IO' (are you missing an assembly reference?)
正如蛋糕已经指出的那样,它找不到System.IO
如何将此引用添加到蛋糕?
我知道 cake 提供了一些内置文件操作,但我想知道如何将 .Net Framework 方法添加到 cake 脚本中。
谢谢