You are currently working on UAT 

Memory Leak when using RunAutomaticTask

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!!