找到.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?)
另外,请记住,我正在寻找一种通用方法来了解我错过了哪些依赖
您正在请求依赖项,但是您没有丢失一个。你错过的是Startup
类,要么是你关注的博客忘记提到,要么是你没有按照说明去做。
创建一个新的ASP。. NET Core项目要运行dotnet new -t web
。Startup
类在这里
真的不会有。你可能会找到一个像resharper这样的工具,它知道微软的官方软件包,并会告诉你"Microsoft"。EntityFrameworkCore"或者你缺少的任何东西。然而,这是一个普遍的问题,无法可靠地解决。在您的示例中,您错过了一个应该在代码中定义的类。它也可以通过包含一个定义了Startup的包来解决。即使是这样,它又怎么知道该选择哪一个呢?可能有很多实现Startup类的包。Foo。启动时,酒吧。Startup, Microsoft.CrossPlatform.StartUp——所有这些都可以用编译代码的方式实现Startup。工具如何知道哪一个适合您的需要?一般来说,您将找到一个库来包含并添加它,而不是编写代码,然后寻找您需要的实现。