проверить тип рабочих каталогов. Фактический код (с которого вы отправляете картинку) немного отличается от того, который вы опубликовали. На рисунке это выглядит так:
foreach (var _selectedDir in targetDir)
Таким образом, вместо строки есть переменная, и тогда у нас нет уверенности в том, что _selectedDir на самом деле является строкой. Он может содержать, например, объекты, которые будут создавать аналогичные ошибки. Если вы исправите это так, что приведенная выше строка будет похожа на ту, которую вы опубликовали, и вы получите InvalidCastException во время выполнения, то я почти уверен, что это проблема.