Включая Net Стандарт в компиляцию CodeAnalysis - PullRequest
0 голосов
/ 24 февраля 2020

Я создаю утилиту для извлечения метаданных на основе 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.

...