Добавить пользовательские расширенные свойства файла - PullRequest
0 голосов
/ 27 января 2020

После добавления обработчика свойства метаданных для расширения .svg с помощью этого инструмента я могу добавлять ключевые слова в файлы .svg через Windows Explorer.

FileMeta Association Manager

Сейчас я ищу способ добавления ключевых слов через приложение 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);
...