Bullseye是一个基于C#的轻量级任务运行器,用于定义和执行.NET项目的构建目标(如build、test、clean),通过命令行调用并支持任务依赖与异步操作,简化CI/CD与开发流程。

在 .NET 项目中使用 Bullseye 并不是直接“定义构建目标”的标准方式,因为 Bullseye 是一个基于 .NET 的外部命令行任务运行器,用于替代或补充传统的构建脚本(如 Make、PSake 或 Invoke-Build)。它本身不参与 MSBuild 构建过程,而是用来组织和执行一系列自定义命令或步骤,比如清理、编译、测试、打包等。
Bullseye 是一个轻量级的 .NET 库,允许你用 C# 定义命名任务(tasks),并从命令行运行它们。它常用于简化 CI/CD 脚本或本地开发流程。
要使用 Bullseye 来管理 .NET 项目的“构建目标”,你需要:
在你的 .NET 项目(通常是工具项目或根目录的脚本项目)中添加 Bullseye 包引用:
dotnet add package Bullseye建议同时添加 Microsoft.Extensions.CommandLineUtils 来更好地处理参数。
创建一个入口类(如 Program.cs),定义常用构建目标:
using System;
using static Bullseye.Internal.ConsoleColors;
var target = args.Length > 0 ? args[0].ToLowerInvariant() : "default";
var targets = new Dictionary<string, Func<Task>>();
targets["clean"] = async () =>
{
Console.WriteLine("Cleaning output directories...");
await Command.RunAsync("dotnet", "clean");
};
targets["build"] = async () =>
{
Console.WriteLine("Building the solution...");
await Command.RunAsync("dotnet", "build --no-restore");
};
targets["test"] = async () =>
{
Console.WriteLine("Running tests...");
await Command.RunAsync("dotnet", "test");
};
targets["restore"] = async () =>
{
Console.WriteLine("Restoring packages...");
await Command.RunAsync("dotnet", "restore");
};
// 构建依赖关系
targets.Add("default", async () =>
{
await targets["restore"]();
await targets["clean"]();
await targets["build"]();
await targets["test"]();
});
// 运行指定目标
if (targets.TryGetValue(target, out var action))
{
await action();
}
else
{
Console.WriteLine($"Unknown target: {target}");
}
编译并运行你的任务程序:
dotnet run -- build其他可用命令:
Bullseye 支持任务依赖、并行执行和颜色输出。更推荐使用其原生 API 注册任务:
Targets.Define("build", async () =>Targets.Define("pack", DependsOn("build"), async () =>
{
await Command.RunAsync("dotnet", "pack -c Release -o ./artifacts");
});
await Targets.RunAsync(args);
这样你可以清晰地表达任务之间的依赖关系。
基本上就这些。Bullseye 不替代 MSBuild,而是帮你把 .NET CLI 命令组织成可复用、可读性强的“构建目标”。适合统一团队开发和 CI 脚本逻辑。
以上就是如何使用 Bullseye 定义 .NET 项目的构建目标?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号