将共享库与.NET Core一起使用

时间:2016-06-30 22:51:16

标签: .net-core

我使用共享库编写了我的开源库LINQ to Twitter,以最大限度地减少部署工件并处理特定于平台的功能。我想支持.NET Core,并且我认为最快的方法是引用共享库。 “添加引用”对话框未显示共享库,因此我尝试了project.json:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "LinqToTwitter.Shared": "*",
    "LinqToTwitter.Shared.net": "*"
  },

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

我尝试了几种版本的组合,但没有得到任何结果。错误消息包含以下内容:

  

无法解析依赖关系LinqToTwitter.Shared> = *。

接下来,我打开了* .xproj并将以下Imports粘贴到Project部分:

<Import Project="..\LinqToTwitter.Shared\LinqToTwitter.Shared.projitems"
        Label="Shared" />
<Import 
  Project="..\LinqToTwitter.Shared.net\LinqToTwitter.Shared.net.projitems" 
  Label="Shared" />

这不显示VS中的引用,元数据中没有任何内容,并且(因为它会跟随)不能从引用.NET核心应用程序的控制台应用程序引用任何共享库类型。

2 个答案:

答案 0 :(得分:0)

如果库在同一个解决方案中,您可以使用target:project之类的内容来引用它

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "LinqToTwitter.Shared": {"target": "project"},
    "LinqToTwitter.Shared.net": {"target": "project"}
  },

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

答案 1 :(得分:0)

好消息 - Visual Studio 2017现在允许.NET Core库项目引用共享项目。