.net - MSBuild 扩展包与 MSBuild 社区任务

标签 .net msbuild build-automation msbuildcommunitytasks msbuildextensionpack

我刚刚开始第一次制作自定义 MSBuild 脚本。我看到有两个扩展功能的标准选项:MSBuild Extension PackMSBuild Community Tasks .

我正在寻找一些关于这些之间有什么区别的指导,以及为什么我会使用一个而不是另一个,甚至两者都使用。我在 Bing 上用 Google 搜索过,但只见树木不见森林。任何指导表示赞赏。

最佳答案

我会插话的,只值2美分。有几件事——首先我不会把它们称为“标准”选项。两者都早于 MSBuild 4.0,内联任务和属性函数功能以及其中的许多任务都已经过时了。我已经编写了数千行 MSBuild,并且只需要几次来自这些库中的任何一个的任务。

它们的优点是它们非常模块化。您可以只挑选您需要的程序集和目标文件,并将它们 checkin 您的代码库,而不会“卡住”整个实现。有时我会从一个库中挑选一个任务,从另一个库中挑选一个任务,两者都在同一个版本中。我总是更喜欢使用简单的 MSBuild 4.0 功能而不是库中的某些功能。我对图书馆中的一些任务很感兴趣,但这种行为根本不是我需要的,所以我自己动手(这个任务想到了 zip 任务,因为我想控制分组压缩与源文件夹无关)。一旦您必须编写一个自定义任务,在同一个程序集中滚动另一个和另一个非常容易。

最后,我要说的是,它实际上与库无关,而是关于您对库中特定任务的非常具体的需求,使用您需要的东西,不要将您的构建与任何东西纠缠在一起那。

关于.net - MSBuild 扩展包与 MSBuild 社区任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798161/

相关文章:

c# - C# 中的多个 HTTP 请求

c# - 可以使用 MSBuild + .csproj 文件创建 msi 安装程序吗?

msbuild - 将属性组值从一个 MsBuild 任务传递到另一个

msbuild - 通过相对路径引用 msbuild 社区任务

xcode - 使用 Xcode 构建后脚本创建 ZIP 存档

c# - 使用数据访问层为 3 层安排 dotnet 核心应用程序

.net - 是否可以在运行时创建绑定(bind)重定向?

.net - 微软破坏了 .NET 兼容性?

ios - Jenkins 是否支持 Xcode 集成

version-control - 有哪些反对使用持续集成的论据?