我创建了一个.net Core2API并将其发布到服务器上。
与普通的.Net MVC结构相比,文件结构看起来非常奇怪。
我熟悉的正常结构

这是已部署的.NET核心2 API的结构。

现在,如果我尝试将该文件夹转换为一个像普通ASP.NET应用程序一样的应用程序,它就无法工作。
我已经在服务器上安装了.NET核心Windows托管包,但是我仍然遗漏了一些东西。
在哪里添加这些代码以启用IISIntegration?
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();发布于 2017-09-08 14:23:03
这段代码是用Program.cs编写的,但它是默认的,所以您应该已经很好了。
ASP.NET核心文件结构与MVC 5不同,但是一旦安装了.NET,它们的工作原理基本相同。将已发布的文件放到web服务器上的目录中。然后,在IIS中设置一个站点以使用该目录。唯一略有不同的是,您需要编辑App并将其设置为“”,而不是特定的.NET运行时。除此之外,一切都应该正常运作。
也就是说,如果您的屏幕截图是文件的完整列表,那么您确实遗漏了一些东西。出版过程有可能在某个时候失败了。试着重新出版。
背景
ASP.NET核心的工作方式与以前的ASP.NET web应用程序有着根本的不同。过去,所有的HTTP模块都是从机器上安装的单片.NET运行时产生的,而ASP.NET核心应用程序则是完全独立的。实际上,Core应用程序只是一个控制台应用程序。在IIS设置中,实际的web服务器是Kestrel,它要么绑定到核心应用程序中,要么从.NET核心运行时获得。IIS充当反向代理。将请求传递给Kestrel,然后返回它从Kestrel获得的响应(因此获得了“”)。使用IIS部署,您的应用程序是一个DLL,但它也可以是完全独立的,并作为一个可执行文件部署。关键是,是的,文件结构和这样的文件结构是非常不同的,因为它以不同的方式工作。
https://stackoverflow.com/questions/46113272
复制相似问题