Я хочу:
- Сделать библиотеку классов, которая определяет некоторые интерфейсы и простые общие вспомогательные классы. Он будет опираться на общие коллекции и
IQueryable<T>
, но не имеет сторонних зависимостей (ну,JetBrains.Annotations
). - Уметь ссылаться на эту библиотеку классов всюду (в частности, UWP, net46 и ASP.Net Core RC2)
- В идеале используйте всю систему project.json, хотя я готов пожертвовать тем, что в случае необходимости.
- Публикация готовой библиотеки в фид NuGet и использование ее в других приложениях
При создании проекта библиотеки классов в Visual Studio 2015.2 я нашел шаблон Class Library (.NET Core)
, в котором указано
Шаблон проекта для создания библиотеки классов в виде пакета NuGet, который может ориентироваться на любую платформу
Любая платформа! Блестящий... Но я не могу заставить его работать. После многих упражнений в настоящее время у меня есть следующий project.json
(я, вероятно, полностью его сломал):
{
"title": "My Really Useful Class Library",
"copyright": "Copyright © 2015-16 Tigra Astronomy, all rights reserved",
"description": "Really neat stuff",
"language": "en-GB",
"version": "1.0.0-*",
"dependencies": {
"JetBrains.Annotations": "10.1.4",
},
"frameworks": {
"netstandard1.5": {
"imports": "dnxcore50",
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027",
"System.Linq.Expressions": "4.0.11-rc2-24027"
}
}
"net46": {
"frameworkAssemblies": {
"System.Collections": "4.0.*"
},
"dependencies": {}
}
},
"buildOptions": {
"xmlDoc": true
}
}
Следующее, что я сделал, это создать проект .NET Framework 4.6 в том же решении и попытаться ссылаться на библиотеку классов. Это позволяет мне добавить ссылку, но я получаю ошибки сборки, неразрешенные символы, R # недоволен и т.д.
Я думаю, что я не делаю это правильно (не удивительно, действительно, поскольку я шарахаюсь в темноте).
Я прочитал некоторые документы о TFM, фреймворках и библиотеках, но ничто из этого не имеет особого смысла.
Что мне действительно нужно помещать в мою библиотеку классов project.json
, чтобы я мог ссылаться на нее из моего приложения .net framework 4.6, а также из приложений UWP и ASP.NET Core RC2? Действительно ли это правильный подход или я начал на неправильной ноге?