C# ASP.NET core web api在不同程序集中启动.cs时返回404
我有.net核心web API,当我在不同的程序集中隔离Startup.cs时,所有API返回404,如果我将Startup.cs返回到存在控制器的同一程序集中,它们将再次工作 这是我的web API的程序.cs:C# ASP.NET core web api在不同程序集中启动.cs时返回404,c#,asp.net-core,.net-core,asp.net-core-webapi,C#,Asp.net Core,.net Core,Asp.net Core Webapi,我有.net核心web API,当我在不同的程序集中隔离Startup.cs时,所有API返回404,如果我将Startup.cs返回到存在控制器的同一程序集中,它们将再次工作 这是我的web API的程序.cs: public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public stat
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureAppConfiguration((hostContext, configApp) =>
{
configApp.SetBasePath(Directory.GetCurrentDirectory());
configApp.AddJsonFile("appsettings.json", false, true);
configApp.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", false, true);
});
}
因此,我需要将startup类放在不同的程序集中,然后在多个Web API项目中使用它用以下行替换
.UseStartup
:
.UseStartup<Application.AppComponents.Startup>()
.UseSetting(WebHostDefaults.ApplicationKey, typeof(Program).GetTypeInfo().Assembly.FullName)
.UseStartup()
.UseSetting(WebHostDefaults.ApplicationKey,typeof(程序).GetTypeInfo().Assembly.FullName)
其中
Application.AppComponents.Startup
是类库中启动文件的命名空间 超光速子,你能解释一下为什么这会解决它吗?我有一个非常类似的问题,但是这个改变并不能纠正它。
.UseStartup<Application.AppComponents.Startup>()
.UseSetting(WebHostDefaults.ApplicationKey, typeof(Program).GetTypeInfo().Assembly.FullName)