Problem
Für den Austausch und Transfer von Daten wurde ein SQL Server Integration Services Paket (ispac) mithilfe der Assembly Microsoft.SqlServer.ManagedDTS generiert.
Beim Versuch, dieses Paket zu deployen erscheint folgende Fehlermeldung:

Aktion
Um den Fehler eingrenzen zu können, extrahierten wir das generierte ispac-Paket. Dabei stellte sich heraus, dass die [Content_Types].xml nicht korrekt entpackt werden konnte.

Bei der Analyse, warum die Basisinfrastruktur diese Fehler erzeugten, schauten wir auf den Code-Block, der für die Erstellung des ispac-Paket zuständig ist.
var project = Project.CreateProject();
project.Name = name;
project.ProtectionLevel = DTSProtectionLevel.DontSaveSensitive;
project.Description = "Synchronisierung Navision";
// ...
var path = Path.Combine(_scriptPath, $"{name}.ispac");
_log.Log($"Paket abgelegt unter {path}");
project.SaveAs(path);
Solution
Das erstellte Projekt ist noch nicht geschlossen. Dadurch wird die Datei korrupt, was zu einen Deployment-Fehler führt. Mit der Verwendung von using lässt sich dieses Problem beheben.
using (var project = Project.CreateProject())
{
project.Name = name;
project.ProtectionLevel = DTSProtectionLevel.DontSaveSensitive;
project.Description = "Synchronisierung Navision";
// ...
var path = Path.Combine(_scriptPath, $"{name}.ispac");
_log.Log($"Paket abgelegt unter {path}");
project.SaveAs(path);
}
Nach dieser Anpassung kann das generierte Paket erfolgreich verteilt werden.

Ein kleines using mit grosser Wirkung.