我已经将应用程序从.NET Core 2.2迁移到了3.0版。实际上,我从头开始在3.0中创建了新应用程序,然后复制了源代码文件。一切看起来都很不错,但是当我尝试在Visual Studio 2019中运行应用程序时,出现了异常:
应用程序正在IIS进程中运行,但未配置为使用IIS服务器
这是我的Program.cs
public static class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseContentRoot(Directory.GetCurrentDirectory());
webBuilder.UseKestrel();
webBuilder.UseIISIntegration();
webBuilder.UseStartup<Startup>();
});
}
Run Code Online (Sandbox Code Playgroud)
错误发生在以下行:CreateHostBuilder(args).Build()。Run(); 它在.NET Core 2.2中运行良好,但不想作为3.0运行。我找不到其他应做的事情。Startup.cs中有新内容吗?我不知道。
Rod*_*una 19
我有同样的错误然后解决我需要更改webBuilder.UseKestrel();为的问题ConfigureKestrel(serverOptions => {})
我Program.cs以前:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseKestrel();
webBuilder.UseStartup<Startup>();
});
Run Code Online (Sandbox Code Playgroud)
我的Program.cs固定:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(serverOptions =>
{
})
.UseStartup<Startup>();
});
Run Code Online (Sandbox Code Playgroud)
对于 Visual Studio 2019 和 2022
转到 API 项目属性:调试选项卡 -> 常规 -> 点击“打开调试启动配置文件 UI”
向下滚动到托管模型并选择“进程外”
然后,您将能够毫无问题地运行您的应用程序。
在遵循文档https://docs.microsoft.com/zh-cn/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio的同时,我也遇到了此问题
对于下面的情况,您可以使用,我已经检查了
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseContentRoot(Directory.GetCurrentDirectory());
webBuilder.UseIISIntegration();
webBuilder.UseStartup<Startup>();
});
Run Code Online (Sandbox Code Playgroud)
正如@flam3 建议的那样,您需要使用正确的命令选择一个配置文件。
打开解决方案资源管理器 -> 您的项目名称 -> 属性 -> launchSettings.json 文件。
键 commandName 的值应该是“Project”而不是“IIS Express”
所以选择名为 Elsa.Samples.UserRegistration.Web 的配置文件(在我的例子中)。见下文。或者您可以尝试在第 19 行将 IISExpress 更改为 Project
| 归档时间: |
|
| 查看次数: |
1772 次 |
| 最近记录: |