【发布时间】:2016-06-18 23:08:58
【问题描述】:
我想:
- 制作一个定义一些接口和简单的通用帮助类的类库。它将依赖通用集合和
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 应用程序中引用它?这真的是正确的方法还是我一开始就走错了路?
【问题讨论】:
-
请原谅我还没有选择“正确”的答案。我仍在处理一些升级到最新 RTM 版本和最新预览工具的方案。
-
确保检查你的cs项目中的
<Project ToolsVersion="14.0"元素。如果您没有在引用项目中使用该版本,VS 似乎不会加载工具来处理 .net 核心引用。
标签: asp.net-core compatibility .net-core project.json