【发布时间】:2016-07-06 15:46:14
【问题描述】:
我对 .Net Core 还很陌生,但是已经创建了一个可以工作的 Asp.Net Core WebAPI 站点 - 现在我想与另一个项目共享一些代码...
- 我已经安装了更新 3 的 Visual Studio 2015。
- 我从here 安装了DotNetCore.1.0.0-VS2015Tools.Preview2.exe。
我想创建一个可以被其他两个库使用的共享库 (PCL) - 它只包含没有其他依赖项的原始类/接口。其中一个使用库是一个新的面向“netstandard1.6”的 vanilla 项目,另一个是一个面向 .Net 4.5.2 的旧客户端库(如果必须,我可以将其升级到 4.6.x)。
我一直在兜圈子,我无法让 netstandard1.6 库引用 PCL - 我只是被告知缺少类型:
错误 CS0246:找不到类型或命名空间名称“SomeTypeHere”(您是否缺少 using 指令或程序集引用?)
名为“ClassLibrary1”的 PCL 的 project.json 自动生成为:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.1": {}
}
}
我的消费库 project.json 是:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0",
"Newtonsoft.Json": "9.0.1"
},
"frameworks": {
"netstandard1.6": {
"dependencies": {
"ClassLibrary1": {
"target": "project"
}
}
}
}
}
我怎样才能做到这一点?
编辑 2016 年 7 月 7 日:
我提供了以下解决方案,它演示了我的设置: https://github.com/JonnyWideFoot/netcore-prototype 请参阅 ExperimentClient::GetLocationAsync 了解我想在 .Net 4.5.2 / 4.6.x 客户端中使用合同库的位置。
【问题讨论】:
-
仅供参考 - 随着 .NET Core 的出现,它们不再被称为 PCL :)
标签: .net portable-class-library .net-core