2016-10-12 5 views
0

Я пишу библиотеку .NET Core, которую я собираюсь опубликовать на NuGet, полностью совместимом с .NET.Добавление полной библиотеки .NET в .NET Core

Для этого я установил project.json следующим образом:

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

Я хочу, чтобы библиотека использовать полную библиотеку .NET (назовем его OtherLib). Я думал, что это возможно, если .NET-версия OtherLib будет совместима с netstandard-версией моей библиотеки.

Но, похоже, нет ... Вот ошибка:

Package OtherLib X.Y.Z is not compatible with netstandard1.1 (.NETStandard,Version=v1.1). Package OtherLib X.Y.Z supports: 
    - net40 (.NETFramework,Version=v4.0) 
    - net45 (.NETFramework,Version=v4.5) 

Вот мой полный project.json:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "OtherLib": "X.Y.Z" 
    }, 
    "frameworks": { 
    "netstandard1.1": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

Я подозреваю, что есть некоторые вещи сложно сделать в нем, заставить его работать, а может быть, это просто невозможно?

Заранее спасибо. (простите за мой английский, я не носитель языка)

ответ

1

Попробуйте изменить свой project.json, изменив "netstandard1.1" на "net45":

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "OtherLib": "X.Y.Z" 
    }, 
    "frameworks": { 
    "net45": { 
     "imports": "dnxcore50" 
    } 
    } 
} 
+0

Спасибо! Это то, что я искал! – fharreau

1

I thought it could be possible as long as the .NET version of OtherLib would be compatible with the netstandard version of my library.

Нет, это невозможно. Версии .Net Framework: supersets версий .Net Standard. Поскольку OtherLib - это библиотека .Net Framework, вы не можете зависеть от нее в библиотеке .Net Standard.

Вам либо нужно ограничить свою библиотеку, чтобы работать только на .Net Framework, либо вам придется удалить зависимость от OtherLib. (Возможно, создав две версии вашей библиотеки: один для .Net-стандарта, который не зависит от OtherLib и один для .Net Framework, который делает.)

+0

Спасибо за техническое объяснение! – fharreau