构建步骤后在 Cake 脚本中公开 MSBuild 属性
Expose MSBuild property in Cake script after build step
你能在蛋糕脚本中通过 MSBuild 设置 属性 吗?
我目前有一个目标,编译后 运行s 指示它是否有 运行,或者它是否是增量构建。
我想在蛋糕构建的剩余部分检测增量构建是否发生。
我目前在 MSBuild 上使用的目标如下:
<!-- Defines Targets that should be run after Compile, but skipped if Compile doesn't take place -->
<PropertyGroup>
<TargetsTriggeredByCompilation>
$(TargetsTriggeredByCompilation);
EnablePostBuild
</TargetsTriggeredByCompilation>
</PropertyGroup>
<Target Name="EnablePostBuild">
<!-- Disable post build actions -->
<PropertyGroup>
<SkipPostBuildActions>false</SkipPostBuildActions>
</PropertyGroup>
</Target>
如果我按如下方式触发 Cake 中的构建:
var buildSettings = new MSBuildSettings()
.WithProperty("SkipPostBuildActions", "true")
MSBuild("./src/Application.sln",buildSettings );
var SkipPostBuildActionsVal = buildSettings??
我可以在 MSBuild 步骤后获取 SkipPostBuildActions 的值吗?
这实际上并不是一个 Cake 问题:Cake“仅”运行s msbuild 使用给定的参数。
因此,如果您找到了一种从外部 msbuild 访问 Property
的方法,您可以将该解决方案转移到 Cake。
AFAIK msbuild 甚至不支持在任务之间轻松共享 属性-修改,更不用说在 msbuild-process 之外了。
我看到两个可能的解决方案:
- 在您的 msbuild 调用上使用
Message
-Task then set a FileLogger
将 SkipPostBuildActions
的值输出到日志中,然后解析日志文件。
- 使用
WriteLinesToFile
-Task 将 SkipPostBuildActions
的值输出到专用文件,然后在 msbuild 具有 运行. 后解析该文件
我个人会选择后者。
你能在蛋糕脚本中通过 MSBuild 设置 属性 吗?
我目前有一个目标,编译后 运行s 指示它是否有 运行,或者它是否是增量构建。
我想在蛋糕构建的剩余部分检测增量构建是否发生。
我目前在 MSBuild 上使用的目标如下:
<!-- Defines Targets that should be run after Compile, but skipped if Compile doesn't take place -->
<PropertyGroup>
<TargetsTriggeredByCompilation>
$(TargetsTriggeredByCompilation);
EnablePostBuild
</TargetsTriggeredByCompilation>
</PropertyGroup>
<Target Name="EnablePostBuild">
<!-- Disable post build actions -->
<PropertyGroup>
<SkipPostBuildActions>false</SkipPostBuildActions>
</PropertyGroup>
</Target>
如果我按如下方式触发 Cake 中的构建:
var buildSettings = new MSBuildSettings()
.WithProperty("SkipPostBuildActions", "true")
MSBuild("./src/Application.sln",buildSettings );
var SkipPostBuildActionsVal = buildSettings??
我可以在 MSBuild 步骤后获取 SkipPostBuildActions 的值吗?
这实际上并不是一个 Cake 问题:Cake“仅”运行s msbuild 使用给定的参数。
因此,如果您找到了一种从外部 msbuild 访问 Property
的方法,您可以将该解决方案转移到 Cake。
AFAIK msbuild 甚至不支持在任务之间轻松共享 属性-修改,更不用说在 msbuild-process 之外了。
我看到两个可能的解决方案:
- 在您的 msbuild 调用上使用
Message
-Task then set aFileLogger
将SkipPostBuildActions
的值输出到日志中,然后解析日志文件。 - 使用
WriteLinesToFile
-Task 将SkipPostBuildActions
的值输出到专用文件,然后在 msbuild 具有 运行. 后解析该文件
我个人会选择后者。