Файл ядра PetaPoco .cs не отображается в пакете библиотеки классов ASP.NET 5

Я создаю новый проект в ASP.NET 5. В своем решении я добавил новый проект Class Library (Package).

Я щелкаю правой кнопкой мыши по этому проекту и выбираю «Управление пакетами Nuget» для установки PetaPoco.Core.

Когда я устанавливаю, все выглядит нормально, за исключением того, что файла PetaPoco.cs нет в моем проекте.

В моих ссылках я вижу установленную версию PetaPoco 5.1.171.

Это что-то другое, чем обычная библиотека классов, и мне нужно использовать что-то еще, чтобы использовать установленный класс PetaPoco, или это проблема во время установки?

Я удалил и переустановил это, но все равно то же самое.

Кто-то, кто может мне помочь?

/Майкл


person Mivaweb    schedule 29.04.2016    source источник


Ответы (2)


Похоже, что пакет PetaPoco.Core не настроен для использования в переносимых библиотеках классов (PCL).

Для включения файлов содержимого в PCL, таких как папка Models, которую создает PetaPoco.Core, требуется другая настройка NuGet, чем для обычного проекта. Документацию по этому вопросу можно найти в NuGet. Я загрузил их пакет напрямую и могу подтвердить, что он не настроен так, как описано в связанном ресурсе.

Может быть, проекту нужны еще недоступные кроссплатформенные фичи, или просто не успели внести изменения для поддержки PCL, или какая-то другая причина, о которой я не знаю.

person Will Ray    schedule 29.04.2016

Пакеты NuGet обычно устанавливаются как библиотеки DLL в папке bin вашего проекта, при этом необходимые ссылки также автоматически добавляются в проект. Они обычно не включают исходные файлы. Вы можете найти исходники (если они доступны) на веб-сайте пакета/проекта.

Visual Studio IntelliSense подберет библиотеки DLL и покажет все, что может о классах и методах внутри, включая комментарии и сигнатуры методов.

См. здесь руководство, создавать собственные пакеты NuGet.

РЕДАКТИРОВАТЬ: PetaPoco - это исключение, которое делает добавление файла .cs... см. комментарий ниже.

person Peter B    schedule 29.04.2016
comment
В моем проекте библиотеки классов я не вижу ни одной папки bin или dll, это нормально? - person Mivaweb; 29.04.2016
comment
Поскольку я все еще не могу использовать пространство имен PetaPoco, выполнив using PetaPoco; - person Mivaweb; 29.04.2016
comment
Я только что заметил, что в случае с PetaPoco пакет NuGet ДЕЙСТВИТЕЛЬНО включает файл PetaPoco.cs; кладется в папку Models. Мне пришлось создать файл-заглушку App.config, прежде чем я смог создать библиотеку тестового класса с включенным PetaPoco, а затем я мог использовать классы PetaPoco в своем коде. - person Peter B; 29.04.2016
comment
Да, я знаю, но по некоторым данным в библиотеке классов (пакете) .net 4.6 это не делается. Я создал новый проект в 4.5.1, и он отлично работает. - person Mivaweb; 29.04.2016