Мне очень нравится разделение функциональности на нескольких сборках, например, фасад для поставщика данных, контракты для поставщика данных и сама реализация поставщика данных... на мой взгляд, это облегчает unit test индивидуальную компоненты функциональности и легко заменять одну вещь в будущем (в случае моего примера это облегчает обмен данными).
Если я создаю решение с тремя проектами и использую ссылки на проекты, когда я создаю dotnet-сборку на сборке записей, все ссылки копируются в выходную папку. Когда я dotnet упаковываю проект сборки записи для создания пакета NuGET, в пакет NuGET входят только сборка (не контракты или поставщик данных)
Это выглядит по дизайну; документация для .NET Core dotnet-pack гласит, что
Ссылка на проект-проект не упакована внутри проекта. В настоящее время у вас должен быть пакет на один проект, если у вас есть зависимости между проектами.
Мой вопрос: почему это так? Если я хочу отделить свой код от логических сборок, я вынужден либо создавать отдельные пакеты NuGET, либо ссылаться на них, либо просто подрезать весь мой код в одну сборку. Есть ли способ включить ссылки на проект в пакете NuGET?
Я использую VS2017/.NET Core v1.1 (csproj, а не xproj)