このツールを使用して .svg 拡張子のメタデータ プロパティ ハンドラーを追加した後、Windows エクスプローラーを介して .svg ファイルにキーワードを追加できるようになりました。
現在、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);