使用Cake时重定向MSBuild输出路径

时间:2018-09-25 21:04:10

标签: c# msbuild cakebuild

来自Fake我习惯于将csproj文件的标准输出保存到bin / debug中,以便能够在本地进行调试。但是,在运行构建脚本时,我希望将文件编译到/ bin / build以便创建安装脚本或nuget软件包。

我试过蛋糕,但没有成功:

Task("Build")
.DoesForEach( GetFiles ("**/*.sln" ), (sln) =>
   var settings = new MSBuildSettings()
    .WithProperty("OutputPath", buildDir);
   MSBuild(sln, settings);
});

它会正确调用MSBuild

"C:/.../MSBuild.exe" /v:normal /p:OutputPath=bin/build /target:Build ...

但不幸的是,目标目录为空? 我想念什么吗?

预先感谢

1 个答案:

答案 0 :(得分:1)

OutputPath必须是绝对路径,请尝试以下操作:

class foo {
public:
    std::function<void(int)> func;
};

class obj {
public:
    obj() {
        f.func = [this](int arg)->void
        {
            update(arg);
        };
    }
    void update(int ms) { _ms = ms; }

private:
    int _ms;
    foo f;
};