Я создаю утилиту для извлечения метаданных на основе Roslyn.
При изучении диагностики, которая генерируется, когда я вызываю CSharpCompilation.Create()
в. NET Стандартном проекте, я заметил несколько сообщений об ошибках, таких как:
CS0012 - Тип 'Enum' определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку 'netstandard, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = cc7b13ffcd2ddd51'.
Я написал logi c, чтобы сделать что-то сопоставимое с пакетами nuget, на которые ссылаются в анализируемом файле csproj. Но я не уверен, как включить netstandard.
Когда я смотрю на ...\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref
в моей системе, появляется большое количество DLL. Я мог бы включить их всех по одному. Но мне любопытно, есть ли лучший / более простой способ сделать это.
Я нашел, что может быть похожим вопросом в Roslyn compilation - как ссылаться на стандартную библиотеку классов. NET Standard 2.0 ... но я не понимаю объяснения / ответа и надеялся получить дополнительную информацию, пример кода, ссылку на онлайн-справку и т. Д. c.