从.Net Core Console应用程序引用.Net Core Class项目的问题

时间:2016-07-25 09:51:33

标签: c# .net .net-core

我是.Net Core的新手,在尝试从我的.Net Core Console应用程序引用.Net核心类汇编项目时遇到了问题。 这与guidelines for contributing非常相似,但这里的答案对我没有帮助。

我正在使用Visual Studio 2015 Update 3

我正在使用ReSharper Ultimate 2016.1.2

我正在使用.Net Core 1.0.0 Preview 2(RC2)

.Net核心类项目

的Class1.cs

namespace ClassLibrary1
{
    public class Class1
    {
        public void Foo()
        {
            Console.WriteLine("Foo");
        }
    }
}

project.json

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6"
  },

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

.Net Core Console项目

Program.cs的

using System;
using ClassLibrary1;

namespace ConsoleApplication
{
    public class Program
    {
        Class1.Foo();
    }
}

project.json

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    },
    "ClassLibrary1": "1.0.0-*"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}

我可以在ClassLibrary1中成功添加对ConsoleApplication的项目引用,这会添加引用并导致在ConsoleApplication中添加到project.json中的依赖项,但是当我尝试使用参考例如。 ClassLibrary1.Class1.Foo(); Visual Studio无法找到代码,无法构建。

ReSharper像上面的问题一样将我的代码强调为红色,并提供添加引用,但这没有任何作用。

我试图在链接的问题中回答,这对我来说并不起作用,而且由于Visual Studio刚刚赢得编译代码,我不确定ReSharper是否存在问题,这与ReSharper没有关系。

如果我将Class1中的project.json的依赖关系和框架从netstandard1.6更改为netcoreapp,如下所示,这确实有效,并允许我参考和使用我ConsoleApplication中的预期课程。但是,这对我来说似乎相当讨厌,我的理解是netcoreapp是用于可运行程序集的依赖项,而netstandard应该是常规类库的依赖项?

有没有人有任何想法?

Hacked ClassLibrary1 / project.json(有效但看起来不对吗?)

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}

0 个答案:

没有答案