Странная Ошибка Компиляции
Пишу экспорт отчёта в CSV. До этого использовали библиотеку EPPlus (её же используем для экспорта в Excel), но из-за большого размера отчёта оно периодически падает с Out of memory.
Свойства объектов экспортируемой коллекции помечены атрибутами EPPlus для форматирования. Типа
[EpplusIgnore] для игнорирования свойства, [EpplusTableColumn(Header="Заголовок", Order = 1)] - для имени заголовка колонки и порядка. См. первую картинку.Понятно, что EPPlus при экспорте сам эти атрибуты обрабатывает, а мне в самодельном экспорте надо их ручками вытягивать через рефлексию. См. вторую картинку. Обращаюсь через
Attribute.GetCustomAttribute(prop, typeof(…))
или
prop.CustomAttributes.Any(a => a.AttributeType == typeof(…))
И вот когда в
typeof(…) кидаю EpplusIgnore, всё работает, а когда кидаю EpplusTableColumn - пишет The type or namespace name 'EpplusTableColumn' could not be found (are you missing a using directive or an assembly reference?)
В обоих файлах ссылка на нугет есть, юзинг неймспейса есть. И
EpplusIgnore, и EpplusTableColumn находятся в одной сборке, в одном неймспейсе, и как атрибуты модели работают прекрасно.Предложения по исправлению ничем не помогают. Там только что-то в духе «Создать новый класс 'EpplusTableColumn'…».
Есть предположения, в чём проблема?
Чуть позже выложу ответ.
UPD: довольно быстро догадались, ответ в комментариях.

