Используйте обычные переносимые библиотеки в .Net Core RC2

У меня есть проект C#, который передает код проектам Portable Libraries, поэтому их можно беспрепятственно повторно использовать в средах .Net и Silverlight.

PCL нацелены на .Net45 и Silverlight 5.

Теперь я хочу использовать те же PCL в среде .Net Core. Если возможно, я хочу сохранить свое решение со средами .Net и Silverlight и повторно использовать проекты Portable в новом решении .Net Core.

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

NU1001 Зависимость не может быть разрешена.

Если я попытаюсь добавить ссылку на сборку PCL, я получаю сообщение об ошибке:

В этом выпуске проекты .NET Core поддерживают только ссылки на сборки .NET Framework. Чтобы ссылаться на другие сборки, они должны быть включены в пакет NuGet и ссылаться на этот пакет.

Можно ли использовать обычные PCL в среде .Net Core? Или мне нужно создать новые библиотеки .Net Core?

Если мне нужно создать новые проекты, как мне избежать дублирования кода?


person pmoleri    schedule 27.06.2016    source источник
comment
Можно использовать PCL в проекте .NET Core с помощью ключевого слова import (см. документы). Самый простой способ проверить это — создать пакет Nuget вашей библиотеки PCL и попытаться сослаться на него в project.json.   -  person Nate Barbettini    schedule 28.06.2016
comment
Спасибо @NateBarbettini, но я уже нацелился на тот же псевдоним PCL и не позволяет мне ссылаться на проект PCL, импорт того же псевдонима был бы бессмысленным, не так ли? Создание пакета NuGet удалит ссылку на сами проекты.   -  person pmoleri    schedule 29.06.2016
comment
У меня такая же проблема. Эта ссылка поможет вам.   -  person Salman Lone    schedule 18.07.2016


Ответы (2)


  1. Перейти, чтобы добавить ссылку
  2. Просмотрите проект, который вы хотите сослаться.
  3. Выберите .dll проекта вместо самого проекта.
  4. Добавьте ссылку на .dll и выполните сборку.
person Salman Lone    schedule 18.07.2016
comment
Спасибо, но когда я пытаюсь сделать это в проекте .Net Core, я получаю сообщение об ошибке, описанное в сообщении .NET Core projects only support referencing .NET framework assemblies in this release... - person pmoleri; 19.07.2016
comment
Тогда я думаю, вам нужно сначала перенести свой проект PCL в ядро ​​.net, а затем использовать его в своем проекте ядра .net. - person Salman Lone; 20.07.2016
comment
Да, я согласен, это сработает, единственная проблема в том, что я пропущу несколько функций, представленных en .csproj, которые недоступны в project.json в качестве пользовательских инструментов для файлов ресурсов и связывания файлов. - person pmoleri; 20.07.2016

Воспользуйтесь этой ссылкой. Здесь вы можете создать API версии 4.5.2 и вызвать этот API в своем основном проекте .net. Этот API будет работать как мост между вашей старой библиотекой классов и базовым приложением .net. хостинг вашей библиотеки классов станет отдельным. Я думаю, что это будет работать в вашем случае.

person Salman Lone    schedule 22.07.2016