
MPP è uno dei formati principali di Microsoft Project spesso utilizzato per archiviare carichi di lavoro, pianificazioni e finanze. Sin dal primo rilascio di Microsoft Project nel 1984, è stato utilizzato per gestire progetti, sviluppare pianificazioni, impostare budget e allocare risorse. Pertanto, il formato MPP è il tipo di file nativo associato a Microsoft Project e archivia le informazioni del progetto quando si salva un progetto. Allo stesso modo, il formato di file XER è un formato di file di progetto proprietario utilizzato dall’applicazione di pianificazione e gestione del progetto Primavera P6. Quindi, nel caso in cui vi sia la necessità di convertire i file MPP in un altro formato, dobbiamo installare e configurare una soluzione on-premise oppure optare per una soluzione basata su cloud.
- API di elaborazione di Microsoft Project
- Da MPP a XER in C#
- Convertire MPP in Primavera P6 utilizzando cURL
API di elaborazione di Microsoft Project
Microsoft Project e Primavera P6 sono tra i formati di file più diffusi utilizzati per assegnazioni di progetti, attività, risorse, calendari, attributi e informazioni di pianificazione. Per facilitare ai nostri clienti l’elaborazione programmatica di questi documenti, abbiamo sviluppato l’API Aspose.Tasks Cloud, una soluzione basata su REST che consente di ottenere elementi di assegnazione di progetti, aggiungere nuove assegnazioni ai progetti, ottenere tutte le attività di un progetto, modificare la posizione dell’attività, aggiungere un calendario al progetto, ottenere dati in scala temporale e molto altro. Esegui tutte queste operazioni senza installare alcun software di terze parti.
Inoltre, abbiamo sviluppato Aspose.Tasks Cloud SDK per .NET che è un wrapper per Aspose.Tasks Cloud e consente di implementare tutte le attività relative alla gestione dei progetti all’interno dell’applicazione .NET.
Installazione
Per utilizzare .NET Cloud SDK, il primo passo è installarlo sul sistema. È disponibile per il download su NuGet e GitHub. Eseguire il seguente comando nel terminale per installare l’SDK tramite NuGet:
nuget install Aspose.Tasks-Cloud
Nel caso in cui sia necessario installare da NuGet Package Manager, eseguire il seguente comando:
PM> Install-Package Aspose.Tasks-Cloud
Approccio di Visual Studio
Un altro approccio è l’installazione direttamente all’interno di Visual Studio:
- Aprire Esplora soluzioni.
- Espandi il progetto e fai clic con il pulsante destro del mouse sulla cartella Pacchetti nella soluzione.
- Selezionare l’opzione Gestisci pacchetti NuGet….
- Fare clic sulla scheda Sfoglia e cercare “Aspose.Tasks-Cloud“.
- Fare clic sulla casella di controllo accanto al pacchetto Aspose.Tasks-Cloud, selezionare la versione appropriata nella scheda a destra e fare clic sul pulsante Aggiungi pacchetto.

Image 1:- Aspose.Tasks-Cloud as NuGet package.
Abbonamento Cloud gratuito
Per accedere alle API Cloud, dobbiamo prima creare un account di abbonamento cloud gratuito. Sì, hai sentito bene. Un account di abbonamento gratuito che fornisce fino a 150 richieste di elaborazione documenti gratuite. Non sono richiesti dati di carte di credito o altri dettagli di pagamento. Quindi, per completare questo processo, visita Aspose.Cloud dashboard. Se hai un account GitHub o Google, registrati semplicemente. Altrimenti, fai clic sul pulsante Crea un nuovo account e fornisci le informazioni richieste. Ora accedi alla dashboard utilizzando le credenziali ed espandi la sezione Applicazioni dalla dashboard e scorri verso il basso fino alla sezione Credenziali client per vedere i dettagli ID client e Segreto client.

Immagine 2: Credenziali del cliente nella dashboard di Aspose.Cloud.
Da MPP a XER in C#
Per eseguire la conversione del file MPP nell’applicazione Primavera P6 XER in C# .NET, seguire i passaggi indicati di seguito.
- Per prima cosa, crea un oggetto Configurazione specificando i dettagli relativi a ID Client e Segreto Client.
- In secondo luogo, crea un oggetto di TasksApi passando l’oggetto Configurazione come argomento.
- In terzo luogo, leggere il file MPP dall’unità locale e caricarlo sullo storage cloud utilizzando il metodo UploadFile(..) di TasksApi.
- Ora creiamo un oggetto di GetTaskDocumentWithFormatRequest in cui definiamo il nome MPP di input e il formato risultante dall’enumerazione ProjectFileFormat.
- Quindi chiamiamo il metodo GetTaskDocumentWithFormat(…) di TasksApi per avviare il processo di conversione.
- Infine, per salvare l’output XER sul disco locale, utilizziamo l’oggetto File.Create all’interno del metodo saveToDisk(…).
// Ottieni ClientID da https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// creare un oggetto di configurazione
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };
// inizializza l'oggetto Aspose.Tasks
var tasksApi = new TasksApi(config);
String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";
try
{
// leggere il file MPP di input dalla memoria locale
using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
{
var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
// caricare il file sullo storage cloud
tasksApi.UploadFile(uploadFileRequest);
}
// inizializzare il processo di conversione da MPP a XER
var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
{
Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
Name = inputFile,
Folder = null,
});
if (response != null )
{
Console.WriteLine("Successfully converted MPP to XER !");
}
// salva il file risultante sul disco locale
saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Convertire MPP in Primavera P6 utilizzando cURL
I comandi cURL sono un altro modo comodo per accedere alle API REST tramite terminale a riga di comando. Quindi, possiamo anche accedere ad Aspose.Tasks Cloud tramite comandi cURL e soddisfare i nostri requisiti. Tuttavia, prima di accedere alle API, dobbiamo generare un JSON Web Token (JWT) basato sui dettagli ClientID e ClientSecret recuperati da Aspose.Cloud dashboard. Eseguire il seguente comando nel terminale per generare il token JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Una volta generato il token JWT, eseguire il seguente comando per convertire il file MPP disponibile nell’archiviazione cloud nel formato XER.
curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.xer
Il file di esempio utilizzato nell’esempio sopra può essere scaricato da Home move plan.mpp.
Conclusione
In questo articolo, abbiamo discusso i passaggi su come convertire un file Microsoft Project (MPP) in un file Oracle Primavera P6 XER utilizzando un frammento di codice C# .NET e il comando cURL. Inoltre, il meccanismo di licenza è stato progettato in modo così flessibile che paghi solo per l’intervallo in cui hai utilizzato i nostri servizi. Inoltre, con l’abbonamento gratuito, hai diritto a un massimo di 150 richieste di elaborazione di documenti gratuite. Quindi, una volta che sei soddisfatto dell’API, puoi prendere in considerazione l’opzione di acquistare una licenza che è piuttosto flessibile. Ti vengono addebitate solo le richieste che hai inviato al server e può essere basso fino a $ 0,005 / chiamata API. Puoi visitare la pagina pricing per ulteriori dettagli.
Tuttavia, i nostri Cloud SDKS sono sviluppati con MIT License, quindi il loro frammento di codice completo può essere scaricato da GitHub. In caso di problemi durante l’utilizzo dell’API o se hai domande correlate, non esitare a contattarci tramite Free Support forum.
Articoli correlati
Ti consigliamo inoltre di visitare i seguenti link per saperne di più: