Не удается получить доступ к типам стандартной библиотеки.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, если есть несоответствие номера версии.)