Лучший способ поделиться файлом JSON через Nuget? - PullRequest
0 голосов
/ 27 марта 2019

У меня есть схема JSON, описывающая, как взаимодействовать с микросервисом .NET, который я разрабатываю.Я хотел бы поделиться этой схемой JSON (вместе с различными другими объектами poco) в файле nuget с другими службами, которые хотят общаться со мной через Kafka.

У меня вопрос, как я могу поделиться этим файлом, используя nuget?Совместно использовать объекты poco тривиально, но я не уверен, как поделиться чем-то вроде статического файла JSON, а также не уверен, как потребитель этого пакета nuget будет ссылаться и использовать этот файл JSON.

Я попытался найти документацию по nuget, но ничего не смог найти.Возможно ли это?

1 Ответ

1 голос
/ 28 марта 2019

Вот документы по файлам содержимого в nupkgs , но обратите внимание, что это ссылка на файл .nuspec.Если вы упаковываете файл проекта, он, как правило, создается автоматически.

Для проекта существует два способа использования пакетов NuGet, с packages.config или PackageReference (проекты SDK, используемые.NET Core, только поддержка PackageReference).При установке пакета для проекта packages.config NuGet просматривает все файлы в каталоге content в nupkg и копирует их в папку проекта.С другой стороны, проекты, использующие PackageReference, не будут копировать файлы, вместо этого элементы содержимого MSBuild создаются для файлов в каталоге contentFiles пакета в папке глобальных пакетов.Поэтому, если вы хотите поддержать пользователей вашего пакета, независимо от того, используют ли они packages.config или PackageReference, вам нужно дублировать файлы содержимого в каталогах content и contentFiles в nupkg.Если вы упакуете проект в стиле SDK, цели пакета автоматически добавят любые элементы содержимого в каталоги content и contentFiles в nupkg.

Итак, вам необходимо учитывать, как пользователи вашегоПакет будет использовать файл JSON (оба они будут использовать packages.config или PackageReference и то, что они будут делать с файлом, когда он будет на их компьютере).Если это то, что они будут использовать только программно, вам может быть проще встроить файл json в вашу сборку как встроенный ресурс и предоставить им метод для вызова, чтобы получить файл в виде строки.Таким образом, разница между packages.config и PackageReference не имеет значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...