找到.net core上需要的依赖关系的一般方法是什么?

本文关键字:方法 是什么 关系 依赖 core 找到 net | 更新日期: 2023-09-27 18:09:12

我正试图从我在一些博客上发现的代码创建一个简单的。net核心应用程序。我用的是Ubuntu 16.04。我的文件是:

project.json

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "dependencies": {
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.Server.WebListener": "0.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.1"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

Program.cs

using Microsoft.Extensions.Configuration; // for using IConfiguration
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Server.Kestrel;
using System.IO; // for using Directory
namespace ConsoleApplication
{
  public class Program
  {
    public static void Main(string[] args)
    {
      var config = new ConfigurationBuilder()
          .SetBasePath(Directory.GetCurrentDirectory())
          .AddJsonFile("hosting.json", optional: true)
          .Build();
      var host = new WebHostBuilder()
          .UseKestrel()
          .UseConfiguration(config)
          .UseContentRoot(Directory.GetCurrentDirectory())
          .UseIISIntegration()
          .UseStartup<Startup>()
          .Build();
      host.Run();
    }
  }
}

hosting.json

{
  "server.urls": "http://localhost:60000;http://localhost:60001"
}
当执行dotnet发布时,我得到的错误是:
error CS0246: The type or namespace name 'Startup' could not be found (are you missing a using directive or an assembly reference?)

另外,请记住,我正在寻找一种通用方法来了解我错过了哪些依赖

找到.net core上需要的依赖关系的一般方法是什么?

您正在请求依赖项,但是您没有丢失一个。你错过的是Startup类,要么是你关注的博客忘记提到,要么是你没有按照说明去做。

创建一个新的ASP。. NET Core项目要运行dotnet new -t webStartup类在这里

真的不会有。你可能会找到一个像resharper这样的工具,它知道微软的官方软件包,并会告诉你"Microsoft"。EntityFrameworkCore"或者你缺少的任何东西。然而,这是一个普遍的问题,无法可靠地解决。在您的示例中,您错过了一个应该在代码中定义的类。它也可以通过包含一个定义了Startup的包来解决。即使是这样,它又怎么知道该选择哪一个呢?可能有很多实现Startup类的包。Foo。启动时,酒吧。Startup, Microsoft.CrossPlatform.StartUp——所有这些都可以用编译代码的方式实现Startup。工具如何知道哪一个适合您的需要?一般来说,您将找到一个库来包含并添加它,而不是编写代码,然后寻找您需要的实现。