посредством Assembly
Грубо говоря вот у меня есть cs файл а там newtonsoft, как мне подсосать эту зависимость и скомпилить посредством Шарпа?
технически можно взять CSharpSyntaxTree.Parse, распарсить в AST, посмотреть на namespace и сделать предположение какие сборки их предоставляют. Но в самом .cs файле нет указания на сборки. Тоесть это будет колдование.
Возьми все сборки, которые есть в наличии и закинь в референсы
Окей, я думал конечно что только парсить но ладно, а как мне ему динамически загружать зависимости, например у меня не используется newtonsoft.json в проекте то что делать
если рассматривать всякие околоскриптовые платформы, то там это по другому решается вместо попыток анализа по неймспейсам (что абсолютно ненадежно в случае дотнета или например жавы/груви/котлина/скалы) - нужно добавлять явные директивы "хочу пакет такой" типа такого // <reference package="Json.NET" version="10.0.0" /> using Newtonsoft.Json; JsonConvert.SerializeObject(123);
даже здесь можно заметить, что неймспейс не значит абсолютно ничего и может не маппиться на конкретное название пакета, dll или что там у вас
вот короче все нормальные люди решают это так
Обсуждают сегодня