Не удается получить доступ к типам стандартной библиотеки.NET

Я создал в VS2017 два проекта на C#:

  • Библиотека.NET Standard 1.5
  • .NET Framework 4.6.2 Консольное приложение. (реализует Стандарт 1.5)

Я добавил ссылку на библиотеку, но не могу получить доступ к типам из нее.
Компилятор просто жалуется, что не может найти ни пространства имен, ни класса.

Кроме того, Studio позволяет запустить приложение, а затем выдает:

System.IO.FileNotFoundException: "Не удалось загрузить файл или сборку" System.Runtime, Версия =4.1.0.0, Культура = нейтральная, PublicKeyToken=b03f5f7f11d50a3a'или одна из ее зависимостей. Система не может найти указанный файл.'

Итак, что я делаю не так?

1 ответ

Решение

Вы должны добавить NETStandard.Library в список ссылок традиционного проекта. Тогда все связанные сборки появятся в вашей выходной папке, так что исключения во время выполнения не возникнут. (Если вам нужно что-то большее, чем стандартная библиотека.NET, также добавьте этот пакет в этот традиционный проект).

На данном этапе это ограничение, к которому мы должны привыкнуть. В конечном итоге Microsoft должна найти лучший способ решения этой проблемы.

(Обратите внимание, что вам также может понадобиться перенаправление сборки в app.config, если есть несоответствие номера версии.)

Другие вопросы по тегам