1. 产品
  2.   Project Management
  3.   .NET
  4.   Aspose.Tasks Cloud .NET SDK

Aspose.Tasks Cloud .NET SDK

 
 

面向开发者的基于云的 C# .NET 项目管理 SDK

通过云端 REST API 读取、写入、转换和操作 MS Project 与 Primavera 文件。

什么是 Aspose.Tasks Cloud .NET SDK?

Aspose.Tasks Cloud .NET SDK 是一个强大的基于云的软件开发工具包,使 .NET 开发人员能够以编程方式管理 Microsoft Project(MPP、MPT、MPX)和 Primavera(XER、XML、PrimaveraP6XML)文件,而无需安装 Microsoft Office 或 Project。它封装了 Aspose.Tasks Cloud REST API,以简化将高级项目管理功能(如任务操作、资源调度、日历管理和风险分析)集成到运行于 Windows、Linux 或 macOS 的基于云的 .NET 应用程序中。该 SDK 支持读取扩展属性、从数据库导入、重新安排任务、执行蒙特卡罗模拟以及将项目文件转换为 PDF、XLSX、HTML 和图像格式等操作。

Aspose.Tasks Cloud .NET SDK 旨在实现可扩展性和安全性,使开发人员能够构建强大、企业级的项目跟踪、报告和协作应用程序。支持工作分解结构(WBS)、任务链接、分配、资源平衡和时间尺度数据,SDK 提供对项目数据的全面控制。开发人员只需在 Aspose Cloud 注册免费账户,获取 App SID 和密钥,并通过 NuGet 安装 SDK,即可快速入门。SDK 还包括详细的文档、API 参考、代码示例以及免费技术支持,以加速开发并确保在生产环境中的可靠性。

Previous Next

Aspose.Tasks Cloud .NET SDK 入门指南

要开始使用 Aspose.Tasks Cloud .NET SDK,首先在 Aspose Cloud 仪表板注册一个免费账户,以获取您的 App SID 和 App Key。然后,在 Visual Studio 中使用 NuGet 包管理器运行 `Install-Package Aspose.Tasks-Cloud` 来安装 SDK,或在命令行中使用 `nuget install Aspose.Tasks-Cloud` 命令。该 SDK 基于 .NET Standard 2.0 构建,可在 Windows、Linux 和 macOS 上运行。安装完成后,使用您的凭证配置 `Configuration` 对象,并开始使用 `TasksApi` 类在云端管理项目文件。欲了解更多信息,请访问 [Aspose.Tasks Cloud .NET SDK](https://products.aspose.cloud/tasks/net/) 产品页面。

通过 NuGet 安装 Aspose.Tasks Cloud .NET SDK

Install-Package Aspose.Tasks-Cloud

将 MS Project 文件转换为 PDF、XLSX 和图像

Aspose.Tasks Cloud .NET SDK 使开发人员能够将项目文件转换为包括 PDF、XLSX、HTML、CSV 以及 PNG、JPEG、TIFF、SVG 等多种图像格式在内的广泛输出格式。这对于生成报告、与利益相关者共享项目状态或将项目数据集成到其他系统中尤其有用。转换过程支持自定义渲染选项,例如指定报告类型(如里程碑、关键任务)、应用视图设置以及包含评论。开发人员可以将 MPP/MPT 文件上传到云存储,然后使用异步或同步 API 调用请求转换,从而确保对大型或复杂项目的高效处理。

在 C# 中将 MPP 转换为 PDF

var config = new Configuration
{
    AppSid = "MY_CLIENT_ID",
    AppKey = "MY_CLIENT_SECRET"
};
var tasksApi = new TasksApi(config);
using (var inputStream = new FileStream("input.mpp", FileMode.Open))
{
    var uploadFileRequest = new PostCreateRequest("input.mpp", inputStream);
    tasksApi.UploadFile(uploadFileRequest);
}
var request = new GetReportPdfRequest { Name = "input.mpp", Type = ReportType.Milestones };
Stream response = await tasksApi.GetReportPdfAsync(request);

管理项目任务、资源和日历

SDK 提供了全面的 API,用于管理核心项目元素:任务、资源、分配和日历。开发者可以在项目层级中添加、更新、删除和移动任务,管理任务链接和依赖关系,并操作资源分配——包括成本和工作数据。日历管理包括创建新日历、添加例外、按 UID 检索日历信息以及管理工作周。扩展属性、纲要代码和 WBS 定义也得到完整支持。这些功能使开发者能够构建动态的项目管理应用程序,实现与基于云的项目数据实时同步。

向项目添加新任务并更新其属性

var request = new PostTaskRequest("project.mpp", new TaskItem { Name = "New Task" });
var response = await tasksApi.PostTaskAsync(request);
// Update the task
response.TaskItem.Name = "Updated Task";
var updateRequest = new PutTaskRequest("project.mpp", response.TaskItem.Uid, response.TaskItem);
await tasksApi.PutTaskAsync(updateRequest);

执行蒙特卡罗风险分析并生成报告

Aspose.Tasks Cloud .NET SDK 包含对蒙特卡罗模拟的内置支持,以对项目进度进行风险分析。开发人员可以运行模拟,生成项目完成日期的概率预测,识别关键路径的变化,并评估任务持续时间不确定性的影响。SDK 允许配置诸如置信水平和迭代次数等模拟参数,并支持以 PDF 或图像格式导出生成的风险报告。此功能对于需要向利益相关者传达风险敞口并就项目时间表和资源分配做出数据驱动决策的项目经理而言,价值不可估量。

运行蒙特卡罗风险分析并保存报告

var riskOptions = new RiskAnalysisSettings
{
    ConfidenceLevel = ConfidenceLevel.CL75,
    IterationsCount = 200,
    Distribution = DistributionType.Normal
};
var request = new PostProjectRiskAnalysisRequest("project.mpp", riskOptions);
var response = await tasksApi.PostProjectRiskAnalysisAsync(request);
// Save the report as PDF
var reportRequest = new GetReportPdfRequest { Name = "project.mpp", Type = ReportType.RiskAnalysis };
Stream report = await tasksApi.GetReportPdfAsync(reportRequest);

导入 Primavera 项目并管理 VBA 模块

SDK 支持从 Primavera P6 XML 和 XER 格式以及使用自定义连接字符串的数据库导入项目。这使得 Primavera 数据能够无缝迁移到兼容 Microsoft Project 的结构中,以便进行分析和报告。此外,Aspose.Tasks Cloud .NET SDK 提供对 VBA(Visual Basic for Applications)模块的完整控制——开发人员可以以编程方式读取、创建、更新和删除 VBA 模块及其组件。这对于自动化启用宏的项目模板以及确保企业项目组合的一致性而无需人工干预至关重要。

导入 Primavera XER 文件并管理 VBA 模块

// Import Primavera XER
var importRequest = new PostProjectFromDatabaseRequest("primavera.xer", "connection_string");
var importedProject = await tasksApi.PostProjectFromDatabaseAsync(importRequest);

// Add a new VBA module
var vbaModule = new VbaModule { Name = "MyModule", Type = VbaModuleType.ProceduralModule };
var vbaRequest = new PostVbaModuleRequest("project.mpp", vbaModule);
await tasksApi.PostVbaModuleAsync(vbaRequest);
 中国人