Hi everyone!
I've been using the trados studio 2015 sdk for translation, and am seeing memory leak when looping the following function:
public void GenerateTranslatedDocument(IEnumerable<string> sdlxliffPaths, string outputFolder)
{
FileBasedProject proj = new FileBasedProject(new ProjectInfo() { Name = "Dummy", SourceLanguage = new Language("en-US"), TargetLanguages = new[] { new Language("de-DE") }, LocalProjectFolder = outputFolder });
ProjectFile[] sdlXliffFiles;
ProjectFile[] files;
try
{
updateExportTaskSettings(proj, outputFolder);
sdlXliffFiles = proj.AddFiles(sdlxliffPaths.ToArray());
proj.RunAutomaticTask(sdlXliffFiles.GetIds(), AutomaticTaskTemplateIds.CopyToTargetLanguages);
files = proj.GetTargetLanguageFiles();
proj.RunAutomaticTask(files.GetIds(), AutomaticTaskTemplateIds.GenerateTargetTranslations);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
proj = null;
sdlXliffFiles = null;
files = null;
GC.Collect();
}
}
Is there a better way to avoid the memory leak? Every iteration introduces 2-20MB.
Help!
Thank you!!