Asp.net core ASP.NET核心项目在其引用的项目中找不到类/方法

Asp.net core ASP.NET核心项目在其引用的项目中找不到类/方法,asp.net-core,asp.net-core-mvc,.net-core,Asp.net Core,Asp.net Core Mvc,.net Core,作为一名初学者,我尝试按照正确的方法创建类库项目或ASP.Net核心webApi。我国的情况是: 1) 我使用.NETCore创建了一个类库项目(我们称之为“AAA”)。类库的框架应该是“netstandard1.6”我知道。我定义了1个静态类及其方法 2) 然后我创建了另一个Asp.Net Core WebApi项目,我们称之为“BBB”。project.json文件中的默认框架是“netcoreapp1.0” 然后在项目BBB--“引用”中,我添加项目AAA作为引用。没有错误发生。然而,如果

作为一名初学者,我尝试按照正确的方法创建类库项目或ASP.Net核心webApi。我国的情况是:

1) 我使用.NETCore创建了一个类库项目(我们称之为“AAA”)。类库的框架应该是“netstandard1.6”我知道。我定义了1个静态类及其方法

2) 然后我创建了另一个Asp.Net Core WebApi项目,我们称之为“BBB”。project.json文件中的默认框架是“netcoreapp1.0

然后在项目BBB--“引用”中,我添加项目AAA作为引用。没有错误发生。然而,如果我尝试使用prject AAA中定义的静态类/方法,VisualStudio告诉我无法找到静态类。(与传统的.Net项目不同,它将自动弹出建议,如果我单击链接,VS将自动添加代码并为我排序。)

但如果我将鼠标移动到红色错误部分的顶部,VS(或更清晰的)确实建议“参考项目AAA…NETStandard,Version=v1.6”,并使用项目AAA.static类/方法…”。然而,即使我点击这个建议,仍然没有任何变化

为什么会这样?我该如何修复它


非常感谢

.NET标准库框架由.NET核心类库使用,但不由.NET核心应用程序使用

因此,您的类库有一个project.json,如下所示:

{
  "version": "1.0.0-*",

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

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }
}
要将此类库引用到.NET核心应用程序中,您必须添加依赖项,并使用默认导入,它将正常工作:

  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "ClassLibrary1": "1.0.0-*"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },
对于这两个project.json文件,参考非常好,如果我在类库中添加一个静态类,如:

public static class Class2
{
    public static void Test()
    {

    }
}
我可以在web应用程序控制器中调用此方法,如:

[HttpGet]
public void TestStaticCall()
{
    ClassLibrary1.Class2.Test();
}

.NET标准库框架由.NET核心类库使用,但不由.NET核心应用程序使用

因此,您的类库有一个project.json,如下所示:

{
  "version": "1.0.0-*",

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

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }
}
要将此类库引用到.NET核心应用程序中,您必须添加依赖项,并使用默认导入,它将正常工作:

  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "ClassLibrary1": "1.0.0-*"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },
对于这两个project.json文件,参考非常好,如果我在类库中添加一个静态类,如:

public static class Class2
{
    public static void Test()
    {

    }
}
我可以在web应用程序控制器中调用此方法,如:

[HttpGet]
public void TestStaticCall()
{
    ClassLibrary1.Class2.Test();
}

我终于在这篇文章中解决了这个问题:。更新Resharper确实有帮助!谢谢大家

我终于在这篇文章中解决了这个问题:。更新Resharper确实有帮助!谢谢大家

您是否尝试将netcoreapp1.0和netstandard1.6添加到AAA项目中?你能在你的问题中加些代码吗?像project.json和您的static class.Mitch一样,我将netcoreapp1.0和netstandard1.6都添加到类库项目的json文件中,这是相同的。Adrien,我的2个project.json文件与您在下面发布的文件相同。实际上,对于ASP webApi项目中的依赖项,只要添加类库作为引用,project.json文件似乎会自动更新?您是否尝试在AAA项目中同时添加netcoreapp1.0和netstandard1.6?你能在你的问题中加些代码吗?像project.json和您的static class.Mitch一样,我将netcoreapp1.0和netstandard1.6都添加到类库项目的json文件中,这是相同的。Adrien,我的2个project.json文件与您在下面发布的文件相同。实际上,对于ASP webApi项目中的依赖项,只要您添加类库作为引用,project.json文件似乎会自动更新?我的类库项目json文件和webApi项目json与您的帖子完全相同。但仍然无法在主webapi类中找到该静态类(或命名空间)。我的类库项目Json文件和webapi项目Json与您的帖子完全相同。但仍然无法在主webapi类中找到该静态类(或命名空间)。