Как добавить статические файлы в .Net Core через NuGet?
Раньше, для проектов .Net Framework, при создании пакета NuGet я использовал папку 'content' для размещения статических файлов. При подключении получившегося пакета в проект копировались содержащиеся в нем статические файлы (в моем случае шаблоны t4).
В .Net Core (.Net 5.0), при подключении NuGet-пакетов, статические файлы из пакета никуда не копируются (ни добавляются в проект ни копируются в файловую систему. Просто игнор и все). Не могу понять в чем причина. Это бага или фича?
Как создавать пакеты для Core-проектов, чтобы в них можно было размещать статические файлы?
Собираю пакет через NuGet Package Explorer.
Весь смысл пакета в том, что там размещаются шаблоны генерации кода *.tt. То есть мне эти файлы нужны как часть проекта, а не как подключенные либы. Например, как таким образом добавить простой текстовый файл readme.txt в проект Core Library?
самое простое что я вижу - создать проект с включенными нужными файлами (include in project) и флаг создания nuget (в .csproj true)
Сбилдив - можно заглянуть в получившийся пакет на предмет куда были положены файлы ( target="")
Вероятнее всего - content, хотя как вариант - build
Ну а readme - это в корень.
d-stream, все оказалось намного запутаннее. Видимо NuGet Package Explorer придется выкидывать на помойку и юзать встроенный билдер. Спасибо за подсказку. Сработало при создании пакета встроенными средствами и изменением для файлов Build Action.
При этом, в пакете, зачем-то, прописываются два каталога content и contentFiles, которые содержат указатели на одни и те же файлы. После этого файлы стали добавляться в проект.
(в чем логика таких изощренных манипуляций я не понимаю...)
Роман Кофф, NPE - это скорее для просмотра, типа посмотреть как собрался пакет в случае не совсем однозначной писанины от мс.
А так - по вкусу либо build с соответствующими таржетами, либо nuget pack