Невозможно предсказать, что будет отображаться в пакете, хотя вы должны учитывать, что в него входят не только зависимости , на которые вы ссылаетесь , но также любые зависимости те нужны - переходные зависимости.Все, что не входит в пакет .NET Core App (подумайте «основные требования времени выполнения»), должно быть упаковано.
Вы можете посмотреть на NuGet странице Lamar и посмотреть2.0.4 нужны LamarCompiler
и Microsoft.Extensions.DependencyInjection.Abstractions
.Те, в свою очередь, нуждаются в других вещах.
Я бы рекомендовал захватить NuGet Package Explorer .Как только вы создадите свой пакет инструментов, вы можете открыть его в этом, чтобы просмотреть, что на самом деле там.(Технически, вы также можете просто переименовать его из .nupkg в .zip и открыть его, но проводник делает это хорошо.)
После добавления Lamar я вижу ...
- Lamar.dll
- LamarCompiler.dll
- Microsoft.CodeAnalysis.CSharp.dll
- Microsoft.CodeAnalysis.CSharp.Scripting.dll
- Microsoft.CodeAnalysis.CSharp.Workspaces.dll
- Microsoft.CodeAnalysis.dll
- Microsoft.CodeAnalysis.Scripting.dll
- Microsoft.CodeAnalysis.VisualBasic.dll
- Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll
- Microsoft.CodeAnalysis.Workspaces.dll
- Microsoft.Extensions.DependencyInjection.Abstractions.dll
- System.Composition.AttributedModel.dll
- System.Composition.Hosting.dll
- System.Composition.Runtime.dll
- System.Composition.TypedParts.dll
Большинство из этогоПохоже, вокруг анализаторы Roslyn - материал CodeAnalysis. Я вижу, что ссылка указана в исходном коде LamarCompiler , хотя обычно я вижу, что он установлен как PrivateAssets=all
, чтобы гарантировать, что он не будет включен в проект и включен таким образом.Обычно у вас нет анализаторов Roslyn в качестве проектных зависимостей, так как они создаются во время сборки.Тем не менее, я не знаю, намеренно ли это;это может быть что-то, о чем вы хотели бы спросить людей из Ламара.Это может быть просто небольшая оплошность, или может быть причина.
TLDR:
- Вы не можете угадать размер, просто постройте его и посмотрите.
- Используйте NuGet Package Explorer, чтобы увидеть, что в итоге оказалось в пакете.
- Используйте NuGet Pages для пакетов, чтобы увидеть, что в цепочке.
- Не бойтесь заходить в источникчтобы одна из ваших зависимостей увидела, вызывает ли она что-то неожиданное, и если вы видите это, спросите у соответствующего владельца, намеренно ли это.