После добавления обработчика свойства метаданных для расширения .svg с помощью этого инструмента я могу добавлять ключевые слова в файлы .svg через Windows Explorer.
Сейчас я ищу способ добавления ключевых слов через приложение C#. Я нашел это решение , но System.AccessViolationException
выдается с кодом:
using Microsoft.WindowsAPICodePack.Shell;
var tags = new[] {"foo", "bar"};
var file = ShellFile.FromFilePath(path);
// following statement throws System.AccessViolationException
file.Properties.System.Keywords.Value = tags;
В чем может быть причина?
Редактировать:
Этот метод работает правильно, но COMException
выбрасывается, если длина тега слишком велика.
using DSOFile;
var file = new OleDocumentProperties();
file.Open(path);
file.SummaryProperties.Keywords = string.Join(";", tags);
file.Close(true);