如何创建我可以从.NET核心应用程序(Web API)引用的.NET核心库

时间:2016-07-25 13:01:25

标签: .net-core asp.net-core-1.0

我正在使用Visual Studio 2015 Update 3和.NET Core 1.0。我有一个类型为.NETCoreApp v1.0的Web API项目。当我添加.NET Core类库时,它的类型为.NETStandard v1.6。我可以将此库添加到Web API项目作为参考,但是当我尝试添加using语句时无法识别它。

如果我创建另一个.NETCoreApp类型的项目,我可以引用它并使用这些类没有问题。

如何使用.NET Core App中的.NET Core类库?

编辑/更新:

  1. 这似乎只是一个编辑器/智能感知问题,因为尽管编辑器警告,.NETCoreApp确实构建并运行,调用类库。
  2. 我正在运行Resharper,我认为这与其他类型的项目有类似的问题:我已经检查过我有最新版本并清除了Resharper缓存并重新启动了VS2105。

2 个答案:

答案 0 :(得分:4)

这是一个Resharper问题。此时Resharper(v2016.1.2)不支持.NET Core 1.0。

有两种可能的解决方案:

  1. 卸载Resharper,Visual Studio原生intellisense工作。
  2. 安装Resharper 2016.2 EAP(早期访问计划)版本。我做到了这一点,它正在发挥作用。显然它附带了任何EAP / beta产品的警告。
  3. 以下是Jetbrains forum post的链接,我被告知.NET Core 1尚未受支持并指向EAP版本。

答案 1 :(得分:1)

一旦您构建了一个定位netstandard1.X的库,您可以:

  • 使用dotnet pack生成NuGet包,并在本地或NuGet上托管它。然后,将其作为任何其他依赖项安装在netcoreapp项目中。
  • 如果您的资料库和应用程序属于同一解决方案,请提供本地参考:

<强> project.json

"dependencies":{
    "MyLibrary.Core": {
        "version": "1.0.0",
        "target": "project"
    }
}

target: project告诉dotnet查看当前解决方案的依赖关系,而不是使用您的NuGet提要。同样,这只适用于在同一解决方案中开发库和应用程序的情况。