问题标签 [cakebuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3439 浏览

c# - 使用 C# 构建脚本

要深入了解以下内容,请阅读:http ://martinfowler.com/articles/rake.html

我最近一直在使用 Rake(与 Albacore),并且非常喜欢它。主要是在我需要时拥有 Ruby 语言的优势。

我必须承认我对 C# 更熟悉了——这让我开始思考在 .NET 世界中是否存在与 Rake 等价的东西。

我正在寻找一种在 C# 或 DSL 中编写构建脚本的方法,具有相同的依赖编程模型,我也可以在其中使用 C#。

也许我问这个问题有点离谱。但是,如果可以使用 Ruby(和内部 DSL),那么我不能马上说为什么 C# 不可能。而且我当然不明白为什么它还没有完成:-)

有人对这个问题有一些看法吗?

我们已经知道的:

  • C# 需要编译才能运行,因此我们需要创建一个单独的构建脚本,由可执行文件在运行时对其进行解析和编译。

提前致谢!

解决方案

使用“Cake” http://cakebuild.net/ -- 使用 Roslyn 编译器,我想要的(几年前)现在是可能的。感谢微软。感谢写蛋糕的人。

另一种方法是使用 Powershell。该库被称为Psake (saké)

0 投票
1 回答
1131 浏览

c# - 使用 MSBuild 构建时如何复制 ASP.NET 项目的内容?

我正在为我们的一些应用程序编写一些新的构建脚本,当前脚本使用 MSBuild 构建所有项目,然后手动将所有内容(视图、脚本等)和 bin 文件夹手动复制到要压缩的工件文件夹;这要求将不属于 ASP.NET 项目的 bin 目录的所有文件和文件夹明确列出在配置文件中,这当然非常容易出错。

在指定输出目录以包含内容文件时,是否有使用 MSBuild 的方法?理想情况下,这将在不创建发布配置文件的情况下完成,因为当前的部署方法无法更改,因此我需要确保我的构建工件与当前的工件匹配。

如果有帮助,我计划使用 Cake 作为构建机制。

0 投票
2 回答
682 浏览

cakebuild - 使用 Cake 中止构建的正确方法是什么?

使用该Error()方法只会记录错误。但是如果我想中止构建怎么办?我可以抛出异常来中止构建,但它似乎不正确。那么有没有合适的中止方法呢?

0 投票
2 回答
1538 浏览

cakebuild - 在 Cake 构建中检索 XML 值?

有没有一种使用 Cake 构建自动化系统从文件中检索 XML 值的简单方法?

我一直在研究Cake.Common.Xml 命名空间,但一切似乎都针对修改 ( XmlPoke) 或转换 ( XmlTransformation) XML。这些方法的文档使它们看起来适合准备 XML 以便在以后的构建步骤中使用,因此它们不会返回任何内容。

理想情况下,我只想进入FilePath带有 XPath 查询字符串的对象并获取结果值。

具体来说,我正在尝试从 Xamarin.Android 项目的 AndroidManifest.xml 中提取值,以用于从 Cake.Xamarin 调用中命名生成的 APK,但似乎此功能应该处于 Cake.Common.Xml 级别。

0 投票
2 回答
1261 浏览

asp.net - 我可以从 cake-build 文件中调用 gulp 吗?

我有一个 ASP.NET 解决方案,我在其中使用 gulp 执行一些任务(例如,较少的编译)。在 Visual Studio 中,相应的 gulp-task 绑定到 BeforeBuild 事件,因此每当我构建解决方案时它都会自动启动。

我正在尝试使用蛋糕来构建和打包解决方案。虽然使用DotNetBuild()orMSBuild()任务构建解决方案工作正常,但 gulp 任务在构建期间不会执行。

似乎 gulp(可能还有其他任务运行器)不会自动“集成”在构建过程中。

cake 是否以某种方式支持在构建过程中调用 gulp?
(当然,理想情况下,如果 gulp 不可用,它也应该自行恢复(使用 npm / package.json)。)

0 投票
1 回答
640 浏览

c# - 使用 Cake build 和 MSBuild 在 TFS 中报告错误

在我的一个项目中出现编译错误时,TFS 上的构建结果页面的信息量明显低于我的预期;我只得到这个:

构建错误无信息

我更希望这样的事情(来自以相同方式构建的不同项目):

带有信息的构建错误

我需要做什么才能让 TFS 显示特定错误?


我使用具有以下目标定义的Cake build构建这两个项目:

0 投票
1 回答
2499 浏览

cakebuild - 如何将字符串数组的参数传递给我的 Cake 脚本?

我想为我的 Cake 脚本获取一个Argument<IEnumerable<string>>(或string[],或其他任何东西 - 一个可迭代的字符串列表),但我不知道如何将它从build.ps1to 传递给cake.exe.

这是我到目前为止所拥有的:

在 build.ps1 中:

在 build.cake 中:

但是,当我执行此操作时,出现以下错误:

指定了多个构建脚本。

找不到要执行的构建脚本。
第一个参数必须是构建脚本的路径,
或者构建脚本应该遵循默认的脚本名称约定。

用法:Cake.exe [build-script] [-verbosity=value] [-showdescription] [-dryrun] [..]

示例:Cake.exe 示例:Cake.exe build.cake -verbosity=quiet 示例:Cake.exe build.cake -showdescription

选项:-verbosity=value 指定要显示的信息量。(安静、最小、正常、详细、诊断) -showdescription 显示有关任务的描述。-dryrun 执行试运行。-version 显示版本信息。-help 显示使用信息。-experimental 使用 Roslyn 脚本引擎的夜间构建。

这样做的正确方法是什么?

0 投票
2 回答
7786 浏览

c# - 将 MSBuild 参数传递给 Cake Build Script 以生成 _PublishedWebsites

我目前正在编写一个 Cake 构建脚本来构建一些 ASP.NET MVC 站点。

目前,我看不到将参数传递给 MSBuild 以生成 _PublishedWebsites 文件夹以进行部署的选项。

我相信我需要通过的论点是:

如果有一种替代方法可以产生相同的输出内容,只是不在同一个文件夹目录中,那很好。

0 投票
2 回答
713 浏览

cakebuild - 如何在 Cake 中从网上下载文件?

我想在我的 Cake 构建期间从 github 版本( https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip )下载 protobuf 存档。

我在Cake DSL 参考页面上没有找到答案。有什么建议么?

0 投票
1 回答
182 浏览

mono - 使用 MonoDevelop 或 Cake/XBuild 编译解决方案会产生不同的结果

使用MonoDevelop 5.1.0编译解决方案和通过调用XBuild的Cake脚本编译相同的解决方案时,我得到了不同的行为。

使用 MonoDevelop 编译解决方案时,一切正常。通过我的蛋糕脚本编译时,我收到以下错误:

System.IDisposable' 类型是在未引用的程序集中定义的。考虑添加对程序集 System.Runtime、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a' 的引用

这种不同行为的原因可能是什么?

蛋糕脚本没有做任何花哨的事情。它只是用完全相同的解决方案调用 XBuild。

我的环境(在 Fedora 23 上):