2016-11-10 3 views
0

Я делаю сетевую библиотеку (https://github.com/Eastrall/Ether.Network), теперь нацеленную на платформу .NET Core, но я хочу поддерживать .NET Core и .NET Framework (4. *)Библиотека C# для .NET Core и .NET Framework

Я слышал о добавлении некоторых строк на project.json, это хорошее решение?

Может кто-нибудь помочь мне с этим? Thanks

+0

слишком расплывчатое, .net ядро ​​гораздо ограничено по охвату, чем .NET framework. Я не вижу, как это возможно. –

+0

Так что я не могу развернуть свою библиотеку на NuGet для .NET Core и .NET Framework? – Eastrall

ответ

3

Да, изменение project.json - это то, что вам нужно. Он должен выглядеть следующим образом:

{ 
    "version": "1.0.0", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.3": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

Вот схема, отображающая .NET Platform Standard для платформ, представляющих интерес с official documentation:

enter image description here

Несколько быстрых заметок:

  • Если библиотека предназначена для платформы .NET Platform Standard версии 1.3, она может выполнять только на .NET Framework 4.6 или новее, .NET Core, Universal Windows Платформы 10 (UWP) и платформы Mono/Xamarin.
  • Если библиотека нацелена на .NET Platform Standard версии 1.3, она может потреблять библиотеки со всех предыдущих версий платформы .NET Platform (1.2, 1.1, 1.0).
  • самая ранняя версия .NET Framework для поддержки платформы .NET. Стандартная версия - это .NET Framework 4.5. Это связано с тем, что новая портативная поверхность API (например, на основе поверхности на основе System.Runtime), которая используется как основа для .NET Platform Standard, стала доступна только в той версии .NET Framework. Ориентация .NET Framework < = 4.0 требует многотаргетинга.

Для получения более подробной информации рекомендуется ознакомьтесь official documentation.

+2

, вероятно, стоит добавить, что лучше избегать использования netstandard 1.5 или 1.6, так как они не будут совместимы с netstandard 2.0, который он доступен. Netstandard 1.4 или более ранняя версия будет совместима с netstandard 2.0, поэтому это хороший выбор для создания портативных библиотек. https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/#div-comment-136675 – Ziv

+0

@Ziv Этот комментарий устарел, см. [Поддержка .NET Framework 4.6.1. NET Standard 2.0] (https://github.com/dotnet/standard/blob/master/docs/netstandard-20/README.md#net-framework-461-supporting-net-standard-20). Хотя по-прежнему предпочтительнее избегать .Net Standard 1.5 и 1.6, потому что члены, специфичные для них, не потерпят неудачу на .Net 4.6.1 во время выполнения. – svick

+0

Спасибо! Вот что мне нужно! – Eastrall

Смежные вопросы