В AX 4.0 / 2009 / 2012 есть возможность использовать .NET сборки, таким образом использовать классы/методы из стандартных сборок.NET, либо сборок разработанных самостоятельно/сторонними разработчиками.
Для добавления референса для сборки в AX нужно: а) открыть АОТ б) правый клик на узле References / Добавить ссылку, в открывшемся диалоге выбрать сборку .NET. Если сборка отсутствует, то нужно по кнопку Обзор в диалоге добавления сборки открыть диалог добавления сборки, найти нужный DLL и добавить его.
Конкретно по вашему примеру с классом System.IO.Compression.ZipFile AX 4.0 под рукой нет, но на AX 2012 слету взлетело:
- Загуглил статью на msdn со справкой по данному классу: https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx
- Добавил ссылку на сборку c:\Windows\Microsoft.NET\Framework\v4.0.30319\System.IO.Compression.FileSystem.dll
- Подготовил файлы для примера - в папке c:\temp создал 2 директории: start, extract и в папку start перенес несколько файлов
- Написал джоб. Переписал пример использования класса ZipFile с msdn на X++ :
Цитата:
static void NetZipFileDemo(Args _args)
{
System.String startPath = @"c:\temp\start";
System.String zipPath = @"c:\temp\result.zip";
System.String extractPath = @"c:\temp\extract";
;
System.IO.Compression.ZipFile::CreateFromDirectory(startPath, zipPath);
System.IO.Compression.ZipFile::ExtractToDirectory(zipPath, extractPath);
}
- Запустил джоб и проверил результат: 1) был создан архив c:\temp\result.zip, 2) содержимое этого архива распаковано в папку c:\temp\extract.