【问题标题】:Controller dotnetCore class not found找不到控制器 dotnetCore 类
【发布时间】:2017-09-26 15:02:00
【问题描述】:

我正在使用 .net core,并在我的项目中添加了一些 4.5 库。这工作正常。但是 Visual Studio 2015 似乎找不到“Controller”(这是一个 ASP.net 核心类)类。

我的 project.json 文件如下所示:

 {
  "dependencies": {
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "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",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "net452": {
      "dependencies": {
        "ClassLibrary1": {
          "target": "project"
        },
        "ClassLibrary2": {
          "target": "project"
        }
      }
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

声明控制器时,找不到“AspNetCore.Mvc”包。并且找不到“Controller”类。

using Microsoft.AspNetCore.Mvc;
namespace WebInterface.Backend
{
    public class AppController : Controller
    {
    }
}

我怀疑我的 project.json 有问题,但似乎找不到问题。有什么建议吗?

更新:

它似乎工作,我可以构建项目,但我的 inteli 感觉找不到类,所有包含(系统,Mvc)都没有找到。但是当我构建它时没有错误。也可以运行项目。有什么想法吗?

【问题讨论】:

  • 使用.NET Core
  • 不是.net核心类,而是asp.net mvc核心类

标签: c# asp.net .net visual-studio asp.net-core


【解决方案1】:

我知道这已经晚了,但希望它可以帮助某人......

我遇到了类似的问题,我的问题是我将文件夹命名为“Controller”而不是“Controllers”

更正文件夹名称后,一切都按预期进行。

【讨论】:

    【解决方案2】:

    尝试在project.json文件所在目录的cmd中运行这个命令:

    dotnet restore
    

    【讨论】:

    • 感谢您的快速回复,它说无法为 .NetFramework、Version=4.5.2 以及其他库解决 ClassLibrary1。任何想法?因为构建 i visual studio(不包括控制器)工作正常。
    • 它似乎工作,(不是命令)我可以构建项目但我的智能感觉找不到类,所有包含(系统,Mvc)都没有找到。但是当我构建它时没有错误。也可以运行项目。有什么想法吗?
    • 否,尝试擦除 bin 和 obj 文件夹并重新启动 Visual Studio
    • 还是没有运气,还有其他建议吗?
    【解决方案3】:

    在我的情况下(ASP.NET Core 3.1),startup.cs 不包含 MapControllerRoute()

    添加MapControllerRoute() 修复它:

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
    

    取自add a controller to an ASP.NET Core MVC app

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-15
      • 2012-10-15
      • 2015-05-18
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      相关资源
      最近更新 更多