2015-09-24 4 views
3

Я создаю пакет NuGet, используя один из этих новых шаблонов Class Library (Package) в VS. Я хочу знать, есть ли способ использовать мой пакет из PCL, который делает не использованием .NET Core?Использование пакетов .NET Core на старых платформах .NET

К примеру, у меня есть пакет, Enu со следующим project.json:

{ 
    "title": "Enu", 
    // project details... 

    "dependencies": { 
     "System.Runtime": "4.0.0" 
    }, 

    "frameworks": { 
     "dotnet": { } 
    } 
} 

Тогда у меня есть унаследованных PCL, что цели .NET 4.5, Windows 8 и Windows, 8.1. Когда я пытаюсь установить пакет через Install-Package Enu, я получаю следующее сообщение об ошибке:

PM> Install-Package Enu 
# blah blah blah 
Install-Package : Could not install package 'Enu 4.0.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain 
any assembly references or content files that are compatible with that framework. For more information, contact the package author. 

Что я могу сделать, чтобы исправить это?

примечание: Как ни странно, он работает на консольном приложении.

+0

Какие рамки вы таргетинг в приложении консоли ? –

+0

@DaveZych Консольное приложение работает на .NET 4.5. –

+0

Извините, я неверно разобрал ваш вопрос. Я не уверен, но я не верю, что вы можете ссылаться на свое основное приложение .NET во всем, кроме .NET Core. –

ответ

4

Да, это возможно. Вот хороший график для справки (из here):

enter image description here

Т.Л., д-р Чтобы ориентировать все добавить это к вашему project.json:

"frameworks": { 
    "dotnet": { }, // .NET 4.6 and DNX 
    "net45": { }, // .NET Framework 4.5 
    "netcore45": { } // WinRT and Silverlight 
} 
+0

Обратите внимание, что DNX оставлен и заменен .NET CLI. Поэтому вместо DNXCORE50 теперь это NETSTANDARD1.5 для библиотек классов и NETCOREAPP1.0 для приложений, таких как тестовые проекты. –

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