Миграция переносимой библиотеки классов в новую общую библиотеку DNX?

Меня действительно смущают новый Dot Net Execution SDK и новая форма общей библиотеки кросс-платформенного приложения/библиотеки .net.

У меня есть несколько переносимых библиотек классов, и я планировал использовать их в среде Mono (и, возможно, в будущем xamarin). Я выбрал PCL вместо обычного CL, потому что это казалось логичным для большей совместимости.

В Visual Studio 2015 и DNX теперь больше внимания уделяется кроссплатформенной поддержке. Тем не менее, кажется, что нет никакого способа ориентироваться на 4.6 в PCL; Он устарел и мы должны перейти на новый метод ядра .net?

Поэтому мне интересно, должен ли я или даже могу ли я обновить свои PCL до общих библиотек DNX, будут ли они совместимы с Mono?

ДОЛЖНЫ ли эти скомпилированные библиотеки DNX работать в среде DNX?


person Meirion Hughes    schedule 28.07.2015    source источник


Ответы (2)


Вскоре будет выпущена поддержка PCL для .NET Framework 4.6 и .NET Core вместе с инструментами Visual Studio для Windows 10. В этом выпуске будут добавлены цели для UWP, .NET 4.6 и Asp.NET 5.0.

Вы можете свободно продолжать использовать переносимые библиотеки классов для написания однодвоичных библиотек.

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

person Kevin Pilch    schedule 28.07.2015
comment
Значит, материал DNX/.Net Core может использовать мой PCL? - person Meirion Hughes; 30.07.2015

Поддержка переносимой библиотеки классов для «.NET Framework 4.6» и «ASP.NET Core 5.0» включена в Visual Studio 2015 RTM. Вам необходимо установить дополнительные «Инструменты и Windows SDK 10.0.10240», спрятанные в разделе «Универсальные инструменты разработки приложений для Windows».

person Jonathon Rossi    schedule 06.08.2015
comment
Установил этого монстра. Не повезло, нельзя использовать Microsoft.Composition (portable-net45+win8+wp8+wpa81) из проекта dnx451 ASP.NET 5 (бета-версия 7). Говорит, что я должен ссылаться на System.Reflection v4.0.0.0, чтобы использовать метод, принимающий Assembly в качестве параметра. Похоже, компилятор не может разрешить контракт для типа под dnx451. - person Pavel Gatilov; 05.10.2015