我有一个用asp.net核心开发的应用程序,带有完整的.net框架(.Net 4.6.1)。该应用程序是使用Visual Studio 2017 RC创建的。编译成功后,它生成了TestApplication.exe。
当我进入项目根目录并执行命令dotnet run时,启动应用程序并开始侦听端口5000.应用程序使用此方法运行正常。但是,当我转到projectRoot\ bin\Debug\net461\
并启动TestApplicatin.exe时,它也会开始侦听端口5000,但是当我转到浏览器并输入http://localhost:5000时,我收到以下错误
localhost页面无效
localhost目前无法处理此请求。
HTTP ERROR 500
注意 -
请参阅Program.cs文件的内容
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
答案 0 :(得分:2)
发现问题。我在运行exe而没有发布它。所以bin目录只包含没有wwwroot文件夹的exe(即TestApplication.exe)。它无法找到所需的文件,因此发生致命错误。如果你想在没有IIS的情况下运行asp.net核心应用程序(即使用Kestrel的自托管应用程序),请执行以下步骤
从命令提示符启动exe或双击它。发布后exe位于我的案例中的以下路径
<强>斌\调试\ net461 \ WIN7 86 \发布\ TestApplication.exe 强>