Ваша библиотека не должна работать с чем-то вроде FileContentResult
. Принцип единой ответственности предполагает, что он должен обрабатывать только те функции, которые действительно имеют отношение к его назначению, а именно создание файла Excel из некоторого набора данных. Затем вы можете вернуть это из вашей библиотеки как Stream
.
Что бы вы ни использовали, ваша библиотека решит, что делать с этим Stream
. В случае с приложением ASP.NET Core вы можете вернуть его как FileStreamResult
. В другом сценарии вы можете записать его в файловую систему или добавить в качестве вложения в электронное письмо и т. Д. Привязка его к одному узкому сценарию, например, возврат файла в качестве ответа от веб-приложения, ограничивает удобство использования вашей библиотеки.
Короче говоря, ответ на ваш вопрос, по сути, вам не нужно делать это в первую очередь. Сосредоточьте свою библиотеку на том, за что она в действительности отвечает, и вам не нужны эти типы зависимостей.